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