啥操作用协程比较好

为啥会有人邀请我回答←_←首先协程算是用户态的线程,优势主要是少了内核态用户态的切换和能自己来做调度。然后协程一般只在有IO操作的时候才能用到,对于一些会阻塞的IO操作,可以自己选择协程切换,等IO就绪了再切回来,可以更充分利用CPU。就像你在做菜,切了萝卜去煲汤,另外还要煮鸡蛋:1.线程的话,就是你切萝卜到一半就换成煮鸡蛋,然后一会换回来继续切萝卜(线程什么时候切换是操作系统决定的)2.协程的话,就是你切完萝卜开始煲汤,然后自己换出去切煮鸡蛋(因为煲汤不用一直卡在那里嘛)应用到实际你的例子,就是爬虫做网络请求的时候可以切出去,数据库也一样。如果单纯是运算没有IO,那么协程就没什么优势了
■网友
我用协程纯粹是因为符合思维习惯。
■网友
可以,异步IO模型使用协程代替进程达到减少进程创建和切换的开销。Python3中内置了asyncio库。详细可以看以下官方手册。18.5. asyncio - Asynchronous I/O, event loop, coroutines and tasks - Python 3.6.0 documentation
■网友
io比较多的操作
■网友
【啥操作用协程比较好】 IO 密集型的操作都很适合用协程。

你上面举的例子中,解析网页是比较消耗 CPU 的操作,用多线程合适一些。


    推荐阅读