Uma*_*mil
9
c
sockets
linux
multithreading
epoll
我正在使用epoll(边缘触发)和非阻塞套接字创建多线程服务器.目前我正在主线程上创建一个事件循环并等待通知并且它正常工作
我必须在两种方法之间进行选择以使其成为多线程:
- 为每个线程创建一个事件循环,并添加服务器套接字的文件描述符以在每个线程上查找通知.(这可能吗?我的意思是:epoll线程安全吗?)
- 创建单个事件循环并等待通知.每当收到通知时,产生一个线程来处理它.
如果我使用第一种方法,是否有机会通过同一事件通知多个线程?我该如何处理这种情况?
什么是最好的方法?谢谢.