如何让一个线程睡眠? - Better Work, Better Life
如何让一个线程睡眠?
1. sleep系列
>> sleep( )和usleep( ),在man手册中的描述是挂起调用该函数的进程。由于linux用进程来模拟线程,因此在Linux环境下,用这两个函数来挂起单个线程是安全的。
>> nanosleep( ),在man手册中的描述是挂起调用该函数的线程。
2. 变相挂起
>> select( )方式,一段示例如下:
void select_ms_sleep(unsigned long msdelay)
{
struct timeval timeout;
timeout.tv_sec = msdelay/1000;
timeout.tv_usec = (msdelay%1000)*1000;
select( 0, NULL, NULL, NULL, &timeout );
}
>> pthread_cond_timedwait( )方式。
===================================================================
[声明]本站所有文章除Reference和Observation分类及特别注明外,均属原创。转载引用请注明出处。
===================================================================
- 无匹配