请教如何学习与理解多线程? - 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
mozillazg

请教如何学习与理解多线程?

  •  
  •   mozillazg
    mozillazg Dec 6, 2012 5038 views
    This topic created in 4913 days ago, the information mentioned may be changed or developed.
    对多线程比较头疼,一直都不能很好的理解它。

    请问如何才能更好的理解多线程(目标是能够在不同场景下灵活的使用多线程)?

    麻烦给点意见或推荐一些文章、书籍,谢谢!
    10 replies    1970-01-01 08:00:00 +08:00
    plprapper
        1
    plprapper  
       Dec 6, 2012   1
    熟练的使用异步线程==》多个异步线程==》线程池
    看看服务器 数据库连接池这些东西的设计 源码神码的。
    kuno
        2
    kuno  
       Dec 6, 2012   1
    我很怀疑这个世界上有多少人真正理解多线程.
    guoxx_
        3
    guoxx_  
       Dec 7, 2012   1
    看看 <<现代操作系统>> 里面关于线程的描述吧
    holsety
        4
    holsety  
       Dec 7, 2012   1
    如果这个问题,问在python节点,请自行google GIL,这是python被诟病的最大原因之一.
    mozillazg
        5
    mozillazg  
    OP
       Dec 7, 2012
    谢谢各位的回复,感谢已发送。
    BOYPT
        6
    BOYPT  
       Dec 7, 2012   1
    首先你需要理解“异步”这个概念。剩下不管是线程进程协程都是这个概念的实现而已。我推荐你先去接触Javascript,因为你现在直接按F12(你用chrome的话)就可以有一个练手的环境,Javascript的异步是随处可用随处可见的。

    我当年就是先接触了js的,然后大学时候上操作系统说什么线程进程的异步执行我就觉得很自然很好理解啊,但是很多同学怎么讲都不明白,我觉得是因为这个概念问题。我以前读过《Javascript DOM编程艺术》这本小书,第一章就是以人类思维来讲解的“异步”,如果你暂时不打算深入看js,那找pdf看看第一章也行。

    「OT」 某楼莫名其妙出现个GIL关键字,貌似有显摆的嫌疑……
    holsety
        7
    holsety  
       Dec 7, 2012   2
    额,ok,不是显摆,请自行google,因为关于GIL的争论也很多,展开来说,可以说很多的.

    简单来说,python使用了GIL,全局线程锁,即对于python来说,无论你用多少线程,实际上在某一时刻运行的也只有一个线程,而且用多线程还增加了线程切换的开销.所以python想要利用多核CPU的计算能力,仅仅考thread是不行的.
    zhangxiao
        8
    zhangxiao  
       Dec 7, 2012
    @holsety 有用的回复,谢谢
    mozillazg
        9
    mozillazg  
    OP
       Dec 7, 2012
    @BOYPT 谢谢你的建议,我会去看一下 《Javascript DOM编程艺术》 的。

    @holsety 谢谢,我会去查看 GIL 的相关资料的。
    lts9165
        10
    lts9165  
       Dec 7, 2012
    哈哈,我记得有人调侃python,就是说,和写python的聊多线程~
    About     Help     Advertise     Blog     API     FAQ     Solana     1081 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 22:51 PVG 06:51 LAX 15:51 JFK 18:51
    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