多線程編程中的join函數(shù)使用心得

程派微信號(hào):codingpy


作者:junjie

來(lái)源:jb51.net


這篇文章主要介紹了python多線程編程中的join函數(shù)使用心得聘裁,本文先是給出了join函數(shù)使用例子,并對(duì)join函數(shù)的使用作了總結(jié)靶病,需要的朋友可以參考下蒸健。


EarlGrey:另外锄列,可以參考 PythonTG 翻譯組之前發(fā)布的《文學(xué)會(huì)Python多線程編程》垢粮。


今天去辛集買箱包,下午挺晚才回來(lái)慕购,又是惡心又是頭痛。惡心是因?yàn)樵缟铣詨臇|西+暈車+回來(lái)時(shí)看到車禍現(xiàn)場(chǎng)茬底,頭痛大概是烈日和空調(diào)混合刺激而成沪悲。沒(méi)有時(shí)間沒(méi)有精神沒(méi)有力氣學(xué)習(xí)了,這篇博客就說(shuō)說(shuō)python中一個(gè)小小函數(shù)阱表。


由于坑爹的學(xué)械钊纾坑爺?shù)膶I(yè),多線程編程老師從來(lái)沒(méi)教過(guò)最爬,多線程的概念也是教的稀里糊涂涉馁,本人python也是菜鳥(niǎo)級(jí)別,所以遇到多線程的編程就傻眼了爱致,別人用的順手的join函數(shù)我卻偏偏理解不來(lái)烤送。早上在去辛集的路上想這個(gè)問(wèn)題想到惡心,回來(lái)后繼續(xù)寫(xiě)代碼測(cè)試糠悯,終于有些理解了(python官方的英文解釋理解不了胯努,網(wǎng)友的解釋也不夠詳細(xì),只能自己鉆)逢防。


測(cè)試用的代碼如下:


這個(gè)小程序使用了兩個(gè)線程thread1和thread2叶沛,線程執(zhí)行的動(dòng)作分別是doWaiting()和doWaiting1(),函數(shù)體就是打印「開(kāi)始」+休眠3秒+打印「結(jié)束」忘朝,分別附加上時(shí)間用來(lái)查看程序執(zhí)行的過(guò)程灰署。后面用start()方法同步開(kāi)始執(zhí)行兩個(gè)線程。然后開(kāi)始循環(huán)調(diào)用兩個(gè)線程的join()方法,在此之前和之后都會(huì)用print函數(shù)做好開(kāi)始結(jié)束的標(biāo)記溉箕。我們主要觀察for tt in tsk: tt.join()晦墙。


join()不帶參數(shù)的情況下,執(zhí)行如下:


可以看到肴茄,兩個(gè)線程并行執(zhí)行晌畅,進(jìn)程1在3s后結(jié)束,進(jìn)程2在8s后結(jié)束寡痰,然后回到主進(jìn)程抗楔,執(zhí)行打印「end join」。


下面把參數(shù)設(shè)置成超時(shí)2s拦坠,即tt.join(2)连躏,執(zhí)行如下:


兩個(gè)線程開(kāi)始并發(fā)執(zhí)行,然后執(zhí)行線程1的join(2)贞滨,等線程1執(zhí)行2s后就不管它了入热,執(zhí)行線程2的join(2),等線程2執(zhí)行2s后也不管它了(在此過(guò)程中線程1執(zhí)行結(jié)束晓铆,打印線程1的結(jié)束信息)勺良,開(kāi)始執(zhí)行主進(jìn)程,打印「end join」骄噪。4s之后線程2執(zhí)行結(jié)束郑气。


總結(jié)一下:


  • join方法的作用是阻塞主進(jìn)程(擋住,無(wú)法執(zhí)行join以后的語(yǔ)句)腰池,專注執(zhí)行多線程。

  • 多線程多join的情況下忙芒,依次執(zhí)行各線程的join方法示弓,前頭一個(gè)結(jié)束了才能執(zhí)行后面一個(gè)。

  • 無(wú)參數(shù)呵萨,則等待到該線程結(jié)束奏属,才開(kāi)始執(zhí)行下一個(gè)線程的join。

  • 設(shè)置參數(shù)后潮峦,則等待該線程這么長(zhǎng)時(shí)間就不管它了(而該線程并沒(méi)有結(jié)束)囱皿。不管的意思就是可以執(zhí)行后面的主進(jìn)程了。


最后附上參數(shù)為2時(shí)的程序執(zhí)行流程表忱嘹,自己畫(huà)的orz嘱腥,這樣看起來(lái)更好理解。



歡迎轉(zhuǎn)發(fā)至朋友圈拘悦。如無(wú)特殊注明齿兔,本公號(hào)所發(fā)文章均為原創(chuàng)或編譯,如需轉(zhuǎn)載,請(qǐng)聯(lián)系「編程派」獲得授權(quán)分苇。

【近期優(yōu)秀教程推薦】

使用好鏡像源添诉,把等待的時(shí)間轉(zhuǎn)為生產(chǎn)力

用Python從頭開(kāi)發(fā)一個(gè)自己的Shell(上)

不懂排序算法?看這些舞者給你做的演示(下)

一文學(xué)會(huì)Python多進(jìn)程編程

一文學(xué)會(huì)Python多線程編程

掃碼關(guān)注編程派

獲取最新教程及資源推送


↓↓↓ 點(diǎn)擊閱讀原文医寿,查看更多Python教程


閱讀原文:http://mp.weixin.qq.com/s?__biz=MzAwNDc0MTUxMw==&mid=2649639444&idx=1&sn=63d9c19d334c2314c24830566fcfc9a4#rd
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末栏赴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子靖秩,更是在濱河造成了極大的恐慌须眷,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盆偿,死亡現(xiàn)場(chǎng)離奇詭異柒爸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)事扭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)捎稚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人求橄,你說(shuō)我怎么就攤上這事今野。” “怎么了罐农?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵条霜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我涵亏,道長(zhǎng)宰睡,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任气筋,我火速辦了婚禮拆内,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宠默。我一直安慰自己麸恍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布搀矫。 她就那樣靜靜地躺著抹沪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瓤球。 梳的紋絲不亂的頭發(fā)上融欧,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音卦羡,去河邊找鬼蹬癌。 笑死权她,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的逝薪。 我是一名探鬼主播隅要,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼董济!你這毒婦竟也來(lái)了步清?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤虏肾,失蹤者是張志新(化名)和其女友劉穎廓啊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體封豪,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谴轮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吹埠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片第步。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖缘琅,靈堂內(nèi)的尸體忽然破棺而出粘都,到底是詐尸還是另有隱情,我是刑警寧澤刷袍,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布翩隧,位于F島的核電站,受9級(jí)特大地震影響呻纹,放射性物質(zhì)發(fā)生泄漏堆生。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一雷酪、第九天 我趴在偏房一處隱蔽的房頂上張望淑仆。 院中可真熱鬧,春花似錦太闺、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至最住,卻和暖如春钞澳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背涨缚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工轧粟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓兰吟,卻偏偏與公主長(zhǎng)得像通惫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子混蔼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容