每次在创建的线程函数中,有whlie(1)死循环的时候,在执行完一遍循环体的时候一般会使用sleep(),使死循环不会一直占用CPU资源。
while(1)
{
//do sth.
if(ret<0)
return;
else
{
usleep(20*1000);
continue;
}
}
另外,当存在多个线程时,进程执行了多次,结果都不同,大概是线程间存在竞争关系,可以通过在线程中添加sleep()函数来延长每个线程的执行时间,此时竞争会更激烈(可以想象成十字路口的两辆车,增加了车长,相撞的概率变大。)