个人理解是epoll可以同时监听多个I/O事件, 但是在处理就绪事件时仍然会发生阻塞。
比如:
https://gist.github.com/7f0e782a687c603ab4a5.git
在第39行,如果有个task需要执行1000s,那么这个时候进程就会阻塞在这里,其他客户得不到响应。所以需要将这个task变成异步的。比如:
`executor.submit(task)`
这时就不会阻塞,server进程可以继续响应其他客户。
不知道有没有更好的办法?
大家在处理这种问题时一般使用什么方法?
比如:
https://gist.github.com/7f0e782a687c603ab4a5.git
在第39行,如果有个task需要执行1000s,那么这个时候进程就会阻塞在这里,其他客户得不到响应。所以需要将这个task变成异步的。比如:
`executor.submit(task)`
这时就不会阻塞,server进程可以继续响应其他客户。
不知道有没有更好的办法?
大家在处理这种问题时一般使用什么方法?