Linux下用 select 函数实现定时器,也可用作线程内延时。
直接上源代码:
#include <stdio.h>
#include <sys/time.h>
int main()
{
struct timeval tv;
while(1)
{
tv.tv_sec = 1; // 定时1秒
tv.tv_usec = 0;
switch(select(0, NULL, NULL, NULL, &tv))
{
case -1: // 错误
printf("Error!\n");
break;
case 0: //超时
printf("timeout expires.\n");
break;
default:
printf("default\n");
break;
}
}
return 0;
}