我对epoll
知之甚少,在检查了一些文件后,认为它是这样运行的:
while(true){
epoll_wait(some_sock_fds);
foreach(usable_fds){
handler(one_fd); <----- this function must be non-blocking ?
}
}
在handler
函数中应该有关于网络读/写或文件操作的东西,我认为它应该是非阻塞的,是吗?
如何编写handler
函数以便它不会阻塞主循环?
答案 0 :(得分:0)
io线程应该专注于网络任务。如果套接字被阻塞,则应该在单独的线程中处理每个套接字。每个插槽一个线程。