【发布时间】:2016-10-01 22:25:08
【问题描述】:
睡眠 1 秒后我有一个 printf 语句。由于 printf 语句耗时超过 1 秒,因此刷新率超过 2 秒。这是我正在谈论的一个例子:
while(1){
printf("%s",buf);//Takes more than one second to print a table. Only few
//values are updated
sleep(1);
}
我怎样才能让 printf 成为非阻塞的。在标准的 linux 机器中有没有办法?
-萨纳坦
【问题讨论】:
-
printf(...) ; flush(buf);? (多年来没有这样做,但请搜索正确使用flush()。(或fflush()?)祝你好运。 -
@shellter 单独的 fflush() 如何解决他的问题?它不会更快并且仍然会阻塞。
-
@jforberg :正如我所说,“多年来没有这样做过”,这不是我将其描述为一个完美的书面问题,所以我只是提供一些尝试,直到得到答案专家出现了(有时他们没有出现)。其他人似乎同意这值得一试。如果它解决了 O.P.s 问题,将很乐意为下面的答案投票。祝大家好运。
-
@shellter 很公平,没有冒犯的意思。