标签: c linux timer
我想在一个程序中使用sleep()和计时器。
sleep()
但是当我在程序中使用setitimer()时,sleep()会失去效力。
setitimer()
如何在不干扰sleep()阻止主线程的情况下制作计时器?
答案 0 :(得分:1)
来自man sleep:
man sleep
sleep()可以使用SIGALRM实现;混合呼叫警报(2)和睡眠()是一个坏主意。
改为使用nanosleep:
nanosleep
与sleep(3)和usleep(3)相比,nanosleep()具有以下优点:它为指定睡眠间隔提供了更高的分辨率; POSIX.1明确指出它不与信号交互;它使恢复睡眠的任务更容易被信号处理程序中断。