Python 廖雪峰 c15 io异步

180113

io异步

之前提到过多线程和多进程的问题,实际上多线程和多进程是针对并发问题,只是解决io速度和cpu速度存在数量级差距的一个方法,io异步就是另一种解决问题的思路。

io异步的优势我认为有这么几个:1,多进程和线程之间的切换也要消耗资源;2,可能实际上并没有那么多的进程和线程可供切换。

实现io异步的叫做消息模型,原理是:通过不断的循环一个程序,监听消息。有消息则执行,并且忽略是否执行完直接进入下一次循环

180114

1 协程

一般的程序调用函数(子程序),使用栈结构。后调用的函数执行完,才能返回上一层执行之前一个函数。

协程区别于子程序,在执行A的过程中可以临时中断,然后直接去执行B。不同于多线程,协程全程只有一个线程,切换功能通过程序本身实现。因为只有一个线程,所以也就没有锁。

Python使用生成器来实现这种功能。大概过程是:一个函数调用一个生成器,之后开始执行生成器。

(此处保存了一个关于生成器和协程的文章,在收藏夹中)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值