gpt4 book ai didi

c - c 线程中的 Sleep()

转载 作者:行者123 更新时间:2023-11-30 18:21:27 25 4
gpt4 key购买 nike

我希望我的程序打印

  • 第一秒你好
  • 第二秒你好
  • 第三秒你好。

所以我写了下面的代码。实际发生的事情是

  • 第一秒 - 没有
  • 第二秒 - 没有
  • 第三秒 - HelloHelloHello

如何纠正?

实际发生的是我

void *myThreadFun(void *vargp)
{
while (1)
{
sleep(1);
printf("hello");
}
}

最佳答案

试试这个,您需要刷新流,可以通过 fflush 或添加 \n 来完成。

出于性能原因,

printf 并不总是调用 write,因为系统调用的成本很高。它而是缓冲它并在需要时立即写入。通过添加 \nfflush 使缓冲区每次都打印在 stdout 上。

void *myThreadFun(void *vargp)
{
while(1){
printf("hello\n");
sleep(1);
}
}

关于c - c 线程中的 Sleep(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45034244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com