个人觉得使用linux下的signal作定时器不怎么好,于是结合pthread线程机制,实现一个无阻塞的定时器。线程内部可以使用sleep或usleep或nanosleep作延时,但缺点是如果想提前结束定时是做不到的,还得用select。select的好处在于有事件到来的时候,可以立刻返回。如果希望实现重复定时的提醒,可以用一个while循环和一个结束标记而不在一次定时到达时退出线程。
linux巧用select实现定时器
最新推荐文章于 2023-04-01 02:45:39 发布
个人觉得使用linux下的signal作定时器不怎么好,于是结合pthread线程机制,实现一个无阻塞的定时器。线程内部可以使用sleep或usleep或nanosleep作延时,但缺点是如果想提前结束定时是做不到的,还得用select。select的好处在于有事件到来的时候,可以立刻返回。如果希望实现重复定时的提醒,可以用一个while循环和一个结束标记而不在一次定时到达时退出线程。