
我掌握了 Python 的多线程编程, 也知道多进程 然而还有一个协程,也去学习了下, 也掌握一点协程的写法。 但是? Python 的协程的应用场景是? 一般的并发场景不都用线程,进程就解决了吗?我目前想不到什么场景适合用 Python 的协程比较好? 个人经验是用线程用的比较多,用在给不同主机批量发网络请求上。
1 dobelee 2019 年 4 月 12 日 via Android 只看功能不看性能系列? |
2 ipwx 2019 年 4 月 12 日 1、协程比线程、进程处理 Network IO 要高效的多。也许可以 handle 高出一个数量级的客户端链接,不过我没有这方面的资料。 2、Python 的多线程基本是废的,因为 GIL 的存在,所以只能用协程。 |
4 Eds1995 2019 年 4 月 13 日 去看[faust]( https://github.com/robinhood/faust)源码,个人觉得是 python 里面用 asyncio 最完美的 |
5 Eds1995 2019 年 4 月 13 日 [faust]( https://github.com/robinhood/faust) |
7 fghjghf 2019 年 4 月 13 日 协程这玩意没啥用,线程的瓶颈就是他都瓶颈。他和线程都区别就是,线程都调度看系统,协程你可以自己控制。yield 就可以实现了 |
8 keepeye 2019 年 4 月 13 日 最常见的应用就是 web 服务器吧,比如 tornado 我自己的话有一个场景,每个登录用户定时拉取外部信息的需求,如果每个用户开一个线程开销太大,所以就用协程还是很方便的 |
9 lowman 2019 年 4 月 16 日 @mseasons python 的多线程基本是废的? 个人觉得有待商榷, 这里是否应该分场景讨论更合适, IO 密集型的任务使用 Python 的多线程去处理, 应该是可以实现多任务的, 一刀切应该并不合适 |
11 jesnridy 2019 年 4 月 18 日 对于网络 IO 用协程处理不是美滋滋 |