Python 协程的应用场景 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
a523
V2EX    Python

Python 协程的应用场景

  •  
  •   a523 2019 年 4 月 12 日 4952 次点击
    这是一个创建于 2475 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我掌握了 Python 的多线程编程, 也知道多进程 然而还有一个协程,也去学习了下, 也掌握一点协程的写法。 但是? Python 的协程的应用场景是? 一般的并发场景不都用线程,进程就解决了吗?我目前想不到什么场景适合用 Python 的协程比较好? 个人经验是用线程用的比较多,用在给不同主机批量发网络请求上。

    11 条回复    2019-04-18 14:54:09 +08:00
    dobelee
        1
    dobelee  
       2019 年 4 月 12 日 via Android
    只看功能不看性能系列?
    ipwx
        2
    ipwx  
       2019 年 4 月 12 日
    1、协程比线程、进程处理 Network IO 要高效的多。也许可以 handle 高出一个数量级的客户端链接,不过我没有这方面的资料。
    2、Python 的多线程基本是废的,因为 GIL 的存在,所以只能用协程。
    mseasons
        3
    mseasons  
       2019 年 4 月 13 日
    @ipwx 多线程可以用作 IO 密集的程序里
    Eds1995
        4
    Eds1995  
       2019 年 4 月 13 日
    去看[faust]( https://github.com/robinhood/faust)源码,个人觉得是 python 里面用 asyncio 最完美的
    Eds1995
        5
    Eds1995  
       2019 年 4 月 13 日
    676529483
        6
    676529483  
       2019 年 4 月 13 日
    @ipwx 多线程在遇到 io 阻塞时,会释放 GIL,也不算完全费,只是达不到其他语言线程的效率
    fghjghf
        7
    fghjghf  
       2019 年 4 月 13 日
    协程这玩意没啥用,线程的瓶颈就是他都瓶颈。他和线程都区别就是,线程都调度看系统,协程你可以自己控制。yield 就可以实现了
    keepeye
        8
    keepeye  
       2019 年 4 月 13 日
    最常见的应用就是 web 服务器吧,比如 tornado

    我自己的话有一个场景,每个登录用户定时拉取外部信息的需求,如果每个用户开一个线程开销太大,所以就用协程还是很方便的
    lowman
        9
    lowman  
       2019 年 4 月 16 日
    @mseasons python 的多线程基本是废的? 个人觉得有待商榷, 这里是否应该分场景讨论更合适, IO 密集型的任务使用 Python 的多线程去处理, 应该是可以实现多任务的, 一刀切应该并不合适
    mseasons
        10
    mseasons  
       2019 年 4 月 16 日
    @lowman 你艾特错了呀……不是我说的
    jesnridy
        11
    jesnridy  
       2019 年 4 月 18 日
    对于网络 IO 用协程处理不是美滋滋
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     934 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:16 PVG 05:16 LAX 13:16 JFK 16:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86