当前位置: 技术问答>linux和unix
求助!!!多线程+多个epoll_wait问题
来源: 互联网 发布时间:2017-02-21
本文导语: OS:centos6.2_64 kernel:2.6.32-220.el6.x86_64 主进程先监听端口: bind(...),listen(...) 创建ep: epoll_create, epoll_ctl(...) 创建线多个线程并且都在跑epoll_wait(...) accept4(...) 这么用的原因是在高峰期并发的网络请求非常海量,使得某些...
OS:centos6.2_64
kernel:2.6.32-220.el6.x86_64
主进程先监听端口: bind(...),listen(...)
创建ep: epoll_create, epoll_ctl(...)
创建线多个线程并且都在跑epoll_wait(...) accept4(...)
这么用的原因是在高峰期并发的网络请求非常海量,使得某些排队靠后的socket fd的事件处理不及时。
测试中没有发现惊群现象。
请问这么用有什么问题么?
kernel:2.6.32-220.el6.x86_64
主进程先监听端口: bind(...),listen(...)
创建ep: epoll_create, epoll_ctl(...)
创建线多个线程并且都在跑epoll_wait(...) accept4(...)
这么用的原因是在高峰期并发的网络请求非常海量,使得某些排队靠后的socket fd的事件处理不及时。
测试中没有发现惊群现象。
请问这么用有什么问题么?
|
2,不是完全不可以,你必须使用两个资源信号量,一个empty,一个full,还需要一个2值信号量用于同步,这就是信号量实现生产者消费者的方法,是需要两个信号量合作的,因为信号量只有0阻塞,而条件变量可以通过编程控制0和满都阻塞,同时条件变量必备的互斥量又提供了同步,这些都是信号量麻烦的地方,不过你想用信号量也是可以的。