Uma*_*mil 9 c sockets linux multithreading epoll
我正在使用epoll(边缘触发)和非阻塞套接字创建多线程服务器.目前我正在主线程上创建一个事件循环并等待通知并且它正常工作我必须在两种方法之间进行选择以使其成为多线程:
如果我使用第一种方法,是否有机会通过同一事件通知多个线程?我该如何处理这种情况?
什么是最好的方法?谢谢.
小智 5
我认为选项 1 更受欢迎,因为非阻塞 IO 的主要目的是避免创建和销毁线程的开销。
以流行的web服务器nginx为例,它创建多个进程(不是线程)来处理一个句柄上的传入事件,并在子进程中处理事件。他们都共享同一个监听套接字。它与选项 1 非常相似。
归档时间:
13 年 前
查看次数:
11128 次
最近记录:
7 年,1 月 前