[编辑]似乎我可以dup()sfd并将一个用于EPOLLIN事件,另一个用于EPOLLOUT事件。会尝试看看。
我有一个共享epoll描述符(efd)的线程池,在该epoll描述符上注册了多个套接字描述符(sfd)。有时,一个sfd会同时启用EPOLLIN和EPOLLOUT事件以及EPOLLONESHOT。
如果两个事件都在epoll_wait()调用期间触发,则我希望这些操作并行运行。也就是说,一个线程被分派处理读操作,另一个线程被分派处理写操作。
我看不到一种明显的方式来实现这一目标,而不会导致群风破浪,也不会在专用的读写efds之间分配线程池。
我想念什么吗?