poll,epoll方法,本地套接字,多任务编程,父子进程

poll

from select  import  poll

1. 创建poll对象

p = poll()

2. 添加关注的IO

poll  IO 事件分类
POLLIN  POLLOUT  POLLERR  POLLHUP  POLLPRI  POLLVAL
rlist   wlist    xlist   断开连接 紧急处理  无效

p.register(s,POLLIN | POLLERR)

p.unregister(s)    取消对IO的关注

3. 进行监控
events = p.poll()
功能 : 监控关注的IO,阻塞等待IO发生
返回值 : events是一个列表,列表中每个元素为一个元           组,代表准备就绪需要处理的IO

events --》 [(     fileno,        event),(),()]
              就绪IO的fileno   哪个事件就绪

因为要获取IO对象调用函数---》通过fileno得到对象

实施方法 : 建立比照字典 {s.fileno():s}

4. 处理IO

epoll
使用方法 : 与poll基本相同
* 生成对象使用epoll() 而不是poll() 
* register注册IO事件事件类型改为epoll事件类型

select   poll   epoll 区别
1. select可以很好支持windows
2. epoll比select和poll效率高,select和poll差不多
3. epoll提供了更多的触发方式


本地套接字

linux下文件类型
b 块设备文件     c 字符设备文件   d 目录  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值