日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python 在threading中如何處理主進程和子線程的關系

瀏覽:21日期:2022-07-27 14:57:18

之前用python的多線程,總是處理不好進程和線程之間的關系。后來發現了join和setDaemon函數,才終于弄明白。下面總結一下。

1.使用join函數后,主進程會在調用join的地方等待子線程結束,然后才接著往下執行。

join使用實例如下:

import timeimport randomimport threading class worker(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): t = random.randint(1,10) time.sleep(t) print 'This is ' + self.getName() + ';I sleep %d second.'%(t) tsk = []for i in xrange(0,5): time.sleep(0.1) thread = worker() thread.start() tsk.append(thread)for tt in tsk: tt.join()print 'This is the end of main thread.'

運行結果如下:

# python testjoin.py This is Thread-3;I sleep 2 second.This is Thread-1;I sleep 4 second.This is Thread-2;I sleep 7 second.This is Thread-4;I sleep 7 second.This is Thread-5;I sleep 7 second.This is the end of main thread.

這里創建了5個子線程,每個線程隨機等待1-10秒后打印退出;主線程分別等待5個子線程結束。最后結果是先顯示各個子線程,再顯示主進程的結果。

2. 如果使用的setDaemon函數,則與join相反,主進程結束的時候不會等待子線程。

setDaemon函數使用實例:

import timeimport randomimport threading class worker(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): t = random.randint(1,10) time.sleep(t) print 'This is ' + self.getName() + ';I sleep %d second.'%(t) tsk = []for i in xrange(0,5): time.sleep(0.1) thread = worker() thread.setDaemon(True) thread.start() tsk.append(thread)print 'This is the end of main thread.'

這里設置主進程為守護進程,當主進程結束的時候,子線程被中止

運行結果如下:

#python testsetDaemon.py This is the end of main thread.

3、如果沒有使用join和setDaemon函數,則主進程在創建子線程后,直接運行后面的代碼,主程序一直掛起,直到子線程結束才能結束。

import timeimport randomimport threading class worker(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): t = random.randint(1,10) time.sleep(t) print 'This is ' + self.getName() + ';I sleep %d second.'%(t) tsk = []for i in xrange(0,5): time.sleep(0.1) thread = worker() thread.start() tsk.append(thread)print 'This is the end of main thread.'

運行結果如下:

# python testthread.py This is the end of main thread.This is Thread-4;I sleep 1 second.This is Thread-3;I sleep 7 second.This is Thread-5;I sleep 7 second.This is Thread-1;I sleep 10 second.This is Thread-2;I sleep 10 second.

補充知識:Python Thread和Process對比

原因:進程和線程的差距(方向不同,之針對這個實例)

# coding=utf-8import loggingimport multiprocessingimport osimport timefrom threading import Threadlogging.basicConfig( level=logging.INFO, format='%(asctime)s 【 %(process)d 】 %(processName)s %(message)s')def func (i): # logging.info(f’子:{os.getpid()},t{i}’) return f’子:{os.getpid()},t{i}’def main (ctx): start01 = time.time() ts = [Thread(target=func, args=(i,)) for i in range(100)] [t.start() for t in ts] [t.join() for t in ts] end01 = time.time() - start01 logging.info(f'線程花費的時間:{end01}秒') start02 = time.time() ps = [ctx.Process(target=func, args=(i,)) for i in range(100)] [p.start() for p in ps] [p.join() for p in ps] end02 = time.time() - start02 logging.info(f'進程花費的時間:{end02}秒')if __name__ == ’__main__’: # windows 啟動方式 multiprocessing.set_start_method(’spawn’) # 獲取上下文 ctx = multiprocessing.get_context(’spawn’) # 檢查這是否是凍結的可執行文件中的偽分支進程。 ctx.freeze_support() main(ctx)

輸出:

2019-10-06 14:17:22,729 【 7412 】 MainProcess 線程花費的時間:0.012967586517333984秒2019-10-06 14:17:25,671 【 7412 】 MainProcess 進程花費的時間:2.9418249130249023秒

以上這篇python 在threading中如何處理主進程和子線程的關系就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩精品一区二区三区视频 | 亚洲一区欧美二区| 国产在线日韩精品| 久久99偷拍| 国产精品sm| 精品资源在线| 国产日韩欧美三区| 久久av日韩| 国内精品麻豆美女在线播放视频| 国产高清精品二区| 久久在线91| 精品久久美女| 国产亚洲一区二区手机在线观看| 久久久久久久久丰满| 国产91一区| 亚洲女人av| 日韩福利视频导航| 国产精品男女| 精品国产第一福利网站| 久久国产精品成人免费观看的软件| 99久久亚洲精品| 婷婷亚洲五月| 日韩中文欧美| 久久午夜影视| 欧美日韩一区二区三区不卡视频| 欧美一级网站| 国产精品成久久久久| 久久精品免费一区二区三区 | 日韩一二三区在线观看| 日本欧美在线| 精品国产欧美日韩| 日韩欧美1区| 亚洲在线一区| 国产精久久久| 国产一在线精品一区在线观看| 丝袜脚交一区二区| 欧美精品观看| 丝袜美腿诱惑一区二区三区 | 日韩在线短视频| 鲁大师影院一区二区三区| 日韩欧美中文在线观看| 国产精品mv在线观看| 亚洲v在线看| 日韩高清成人在线| 欧美交a欧美精品喷水| 一区二区小说| 日韩国产在线一| 天堂中文av在线资源库| 视频一区中文字幕国产| 欧美成a人片免费观看久久五月天| 久久久精品午夜少妇| 亚洲精品高潮| 精品在线网站观看| 视频一区欧美精品| 免费一级欧美片在线观看网站| 91精品一区二区三区综合| 美女久久一区| 色婷婷亚洲mv天堂mv在影片| 男女男精品网站| 精品亚洲成人| 蜜桃久久久久久| 亚洲最新无码中文字幕久久| 日本亚洲欧洲无免费码在线| 久久裸体视频| 国产精品成人国产| 亚洲一区日韩在线| 97欧美在线视频| 欧美一区网站| 在线成人直播| 国产一区二区精品福利地址| 在线亚洲自拍| 老司机精品视频在线播放| 模特精品在线| 亚洲性色av| 国产精品mv在线观看| 蜜臀国产一区二区三区在线播放 | 国产欧美另类| 性一交一乱一区二区洋洋av| 日韩激情一区| 麻豆高清免费国产一区| 色综合视频一区二区三区日韩| 日韩精品免费一区二区在线观看 | 精品1区2区3区4区| 日韩成人精品一区| 青青草国产成人99久久| 国产亚洲午夜| 黄色在线网站噜噜噜| 国产日韩欧美一区| 亚洲欧美日韩专区| 久久久久久美女精品| 九九99久久精品在免费线bt| 日韩1区2区日韩1区2区| 亚洲欧美久久久| 香蕉久久99| 欧美激情精品| 国产精品日本一区二区三区在线| 手机精品视频在线观看| 亚洲大全视频| 久久一级电影| 久久亚洲国产| 成人免费电影网址| 日韩综合在线| 久久男人av| 久久成人福利| 国产精品中文字幕制服诱惑| 日本午夜精品久久久久| 亚洲另类视频| 亚洲丝袜美腿一区| 国产精品嫩草99av在线| 不卡av一区二区| 成人亚洲欧美| 精品网站999| 精品福利久久久| 欧美激情aⅴ一区二区三区 | 国产传媒在线| 精品不卡一区| 精品久久免费| 国产66精品| 激情综合婷婷| 国产一区二区三区四区大秀| 久久成人福利| 精品视频高潮| 国模精品一区| 不卡专区在线| 伊人久久国产| 日韩在线第七页| 色爱av综合网| 久久三级福利| 欧美中文字幕一区二区| 欧美日韩一二| 在线观看免费一区二区| 免费精品视频| 日韩在线视频一区二区三区| 日韩在线黄色| 欧美亚洲人成在线| 欧美国产中文高清| 91亚洲国产| 免费不卡中文字幕在线| 91久久国产| 男人的天堂久久精品| 日本在线视频一区二区| 国产欧美日韩视频在线| 久久天堂影院| 久久天堂av| 亚洲国产一区二区在线观看 | 欧美资源在线| 亚洲天堂av资源在线观看| 日韩国产高清在线| 国产精品久久久久久久免费软件 | 激情婷婷综合| 久久成人一区| 91免费精品国偷自产在线在线| 国产精品久久| 日韩欧美中文| 99视频精品| 日韩成人在线看| 麻豆国产精品| 国内精品福利| 亚洲精品高潮| 美女久久久精品| 久久久久久久久丰满| 免费在线成人网| 日韩国产欧美在线播放| 激情综合婷婷| 亚洲精品va| 欧美一区二区三区久久| 水蜜桃精品av一区二区| 亚洲夜间福利| 91国内精品| 欧洲在线一区| 日韩精品a在线观看91| 免费亚洲婷婷| 亚洲精品网址| 国产精品久久久久77777丨| 一本大道色婷婷在线| 免费不卡在线观看| 精品99在线| 国产农村妇女精品一二区| 国产精品三级| 欧美美女一区| 国产日韩中文在线中文字幕| 日韩av免费| 欧美中文一区| 欧美午夜精彩| 国产欧美成人| 激情婷婷久久| 亚洲精品福利| 日韩一区欧美| 日韩精品91亚洲二区在线观看| 日韩国产欧美| 日韩精品视频在线看| 久久男女视频| 日本免费在线视频不卡一不卡二| 日韩在线看片| 国产一级成人av| 91精品观看| 国产a亚洲精品| 日本电影久久久| 国产精品91一区二区三区| 麻豆久久久久久|