Python的Socket知识5:IO多路复用

IO 多路复用是5种I/O模型中的一种。

1、同步vs异步,阻塞vs非阻塞

  • 同步vs异步:

    • 同步:相互牵制,两者之间有一定的约束   

    • 异步:两者之间无关,互不牵制

  • 阻塞vs非阻塞

    • 阻塞:发出一个请求,如果条件不满足,会一直等待直到条件满足

    • 非阻塞:发出一个请求,如果条件不满足,则直接返回一个标志信息,而不会一直等待下去。

  • 并发vs并行

    • 并发数是指同时进行的任务数(如同时服务的 HTTP 请求).

    • 并行数是可以同时工作的物理资源数量(如 CPU 核数)

    • 比如去某部门办事需要依次去几个窗口,办事大厅里的人数就是并发数,而窗口个数就是并行度。

2、5种 I/O模型介绍

2-1 阻塞IO:

  • 解释:直到等待数据准备就绪,内核将数据拷贝到用户线程,并返回结果给用户线程,用户线程才解除block状态。

  • 优点:能够及时返回数据,无延迟;对内核开发者来说这是省事了;

  • 缺点:对用户来说处于等待就要付出性能的代价了;

  • 案例:我和朋友点完餐后,朋

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值