在线程中实现计时器的最佳方法是什么?

时间:2015-05-13 12:32:09

标签: c linux multithreading timer

我需要在我的帖子中定期进行一些操作。这样做的最佳方法是什么? 就像if,我在linux deamon和android应用程序之间有一个本地套接字通信。在这种情况下,如果我想从deamon定期向Android应用程序发送数据,我该怎么办?

2 个答案:

答案 0 :(得分:1)

如果您使用Linux,为什么不尝试sleep()的{​​{1}}或usleep()个功能?

unistd.h

将暂停线程五秒钟然后恢复执行。

sleep(5);

  

sleep(sec)函数导致调用线程暂停执行,直到参数seconds指定的实时秒数或者信号传递给调用线程为止它的作用是调用一个信号捕捉功能或终止该过程。

sleep()

  

usleep(usec)函数暂停执行调用线程(至少)usec微秒。

强调我的。 取自herehere

答案 1 :(得分:0)

如果您想要真正准确的计时,则应使用Simple Signals - C programming and alarm function。如果不这样做,使用sleep()等将最终导致您的计时器因代码,操作系统等的开销而发生变化。