如何使用epoll并使处理程序功能无阻塞?

时间:2016-11-05 08:32:30

标签: c epoll

我对epoll知之甚少,在检查了一些文件后,认为它是这样运行的:

while(true){
    epoll_wait(some_sock_fds);
    foreach(usable_fds){
        handler(one_fd);  <----- this function must be non-blocking ?
    }
}

handler函数中应该有关于网络读/写或文件操作的东西,我认为它应该是非阻塞的,是吗?

如何编写handler函数以便它不会阻塞主循环?

1 个答案:

答案 0 :(得分:0)

io线程应该专注于网络任务。如果套接字被阻塞,则应该在单独的线程中处理每个套接字。每个插槽一个线程。