草庐IT

彻底理解协程

1详解协程1.1多线程的困境人类压榨CPU的脚步从未停止过。在实际的生产过程中,我们将CPU的任务分为两大类:计算密集型:数值计算、逻辑判断的任务较多。CPU利用率非常高。IO密集型:与IO设备交互,如读取磁盘和网卡,频繁等待IO操作结果。CPU利用率非常低。为了提高IO密集型任务的CPU利用率,常常采用异步加回调的方案。我们去餐厅吃饭,点菜之后就可以回座位上刷手机了,这叫异步;饭菜做好了,服务员把菜端过来,这叫回调。在软件开发的过程中,异步加回调的方案将一件事拆成两个过程,不符合人类的线性思维,增加了代码复杂度,提高了排查错误的难度。这就好比,我们下单后回座位等待,虽然有空干别的事情,但是也

彻底理解协程

1详解协程1.1多线程的困境人类压榨CPU的脚步从未停止过。在实际的生产过程中,我们将CPU的任务分为两大类:计算密集型:数值计算、逻辑判断的任务较多。CPU利用率非常高。IO密集型:与IO设备交互,如读取磁盘和网卡,频繁等待IO操作结果。CPU利用率非常低。为了提高IO密集型任务的CPU利用率,常常采用异步加回调的方案。我们去餐厅吃饭,点菜之后就可以回座位上刷手机了,这叫异步;饭菜做好了,服务员把菜端过来,这叫回调。在软件开发的过程中,异步加回调的方案将一件事拆成两个过程,不符合人类的线性思维,增加了代码复杂度,提高了排查错误的难度。这就好比,我们下单后回座位等待,虽然有空干别的事情,但是也