线程中sleep怎么会影响到主程序sleep呢???
我是这样用的:
void JudegAlert(void *)
{
....
sleep(50);
}
int main()
{
......
pthread_create(&pthrd, NULL, JudegAlert, NULL);//这里创建一个线程
.....
while(1)
{
epoll_wait (kdpfd, events, curfds, 100);
.....
accept (listener, (struct sockaddr *) &their_addr, &len);
//下面就是解析数据了
.....
}
}
本来我的意思是:创建一个线程,线程是每隔50秒就检查一遍数据库等,然后主程序一直是等待数据读取过来,
现在我发现,主程序也在sleep,不知道为啥? 当时测试的时候是这样的,就是有一个客户端是每隔50秒给我发送一次数据,数据中有2个包,
然后我看了下我的程序,我好像在我只能一次接收2个包,如果还有的话就又要等50秒了,一次只能是2个包??? 还要等50秒,这是为啥呢???