为了账号安全,请及时绑定邮箱和手机立即绑定

关于 epoll 的小小疑问, epoll 在等待事件的过程中会阻塞么

关于 epoll 的小小疑问, epoll 在等待事件的过程中会阻塞么

DIEA 2019-02-26 07:38:33
最近在看tornado的源码,有个RT的疑问 try: event_pairs = self._impl.poll(poll_timeout) except Exception as e: # Depending on python version and IOLoop implementation, # different exception types may be thrown and there are # two ways EINTR might be signaled: # * e.errno == errno.EINTR # * e.args is like (errno.EINTR, 'Interrupted system call') if errno_from_exception(e) == errno.EINTR: continue else: raise 在调用poll方法等待事件的过程中epoll是马上返回还是至少有一个事件后才返回
查看完整描述

2 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

epoll是至少有一个事件才返回。在有事件之前是阻塞住的

查看完整回答
反对 回复 2019-03-01
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

当然会阻塞啊

一般用法 while 1: fd.poll()
不阻塞不是死循环了?

当然有时候根据需要也有用非阻塞的(把超时设置成0),相当于是在查询系统事件

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 588 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信