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

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

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

瀏覽:23日期: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久久,三上悠亚国产精品一区二区三区
老色鬼精品视频在线观看播放| japanese国产精品| 久久激情一区| 国产精品亚洲欧美| 91精品二区| 在线中文字幕播放| 麻豆精品视频在线观看| 亚洲综合中文| 国产亚洲亚洲| 亚洲va中文在线播放免费| 日韩精品导航| 噜噜噜久久亚洲精品国产品小说| 99成人在线视频| 国产91欧美| 国产精品久久乐| 香蕉久久久久久久av网站| 欧美一区三区| 久久九九精品| 日本在线精品| 日韩欧美一区免费| 亚洲国产福利| 亚洲视频二区| 自拍自偷一区二区三区| 蜜乳av另类精品一区二区| 亚洲精品小说| 美女久久久久| 日韩欧美三级| 日韩精品电影| 国产日产精品一区二区三区四区的观看方式| 婷婷综合激情| 夜久久久久久| 国产一级久久| 欧美一级精品| 精品日韩视频| 久久久久美女| 欧美日韩国产在线观看网站| 99久久精品费精品国产| 私拍精品福利视频在线一区| 欧美片第1页| 99视频精品全部免费在线视频| 精品成人免费一区二区在线播放| 国产精品一在线观看| 国产精品igao视频网网址不卡日韩 | 欧美一区二区三区激情视频| 国产精品www994| 精品国产亚洲一区二区三区在线| 久久婷婷国产| 久久uomeier| 免费国产自久久久久三四区久久 | 日韩中文字幕一区二区高清99| 亚洲精品日韩久久| 国产精品日本一区二区不卡视频 | 国产图片一区| 毛片不卡一区二区| 国产精品国产三级国产在线观看| 日韩欧美一区二区三区在线视频 | 国产精品亚洲产品| 成人亚洲一区| 9999国产精品| 国产精品日韩久久久| 日本综合视频| 国产精品久久免费视频| 婷婷精品在线观看| 欧美激情五月| 久久久影院免费| 一本综合精品| 国产精一区二区| 日韩精品免费观看视频| 久久成人av| 久久免费大视频| 亚洲精选久久| 国产欧美一区二区色老头| 日韩精品欧美精品| 国产在线日韩精品| 国产精品老牛| 国产精品亚洲欧美| 91精品蜜臀一区二区三区在线| 亚洲三级国产| 国产麻豆一区二区三区精品视频| 亚洲精品88| 亚洲精品动态| 91亚洲国产成人久久精品| 国产精品人人爽人人做我的可爱| 奇米777国产一区国产二区| 精品国产18久久久久久二百| 免费观看久久av| 亚洲日产国产精品| 国产成人免费精品| 亚洲免费一区二区| 久久精品五月| 一区二区三区网站| 最新中文字幕在线播放| 亚洲人成网77777色在线播放| 日本一区二区高清不卡| 麻豆精品网站| 日韩高清欧美激情| 在线成人直播| 中文在线а√在线8| 久久狠狠亚洲综合| 日本大胆欧美人术艺术动态| 99精品视频精品精品视频| 亚洲精品人人| 午夜日韩福利| 日韩在线观看不卡| 麻豆中文一区二区| 日韩va欧美va亚洲va久久| 欧美特黄一级| 神马日本精品| 国产成人精品一区二区免费看京| 日韩精品免费一区二区夜夜嗨| 六月婷婷一区| 亚洲成人精选| 蜜桃成人av| 久久一区二区中文字幕| a国产在线视频| 久久精品国产亚洲aⅴ | 久久精品国产亚洲夜色av网站 | 欧美午夜不卡| 久久高清免费| 日本精品影院| 91精品xxx在线观看| a天堂资源在线| 中文在线а√在线8| 色婷婷综合网| 福利一区和二区| 手机在线电影一区| 日本久久精品| 国产精品xxx| 欧美激情福利| 久久av电影| 久久精品欧洲| 欧美激情麻豆| 国产一区2区在线观看| 里番精品3d一二三区| 欧美精品99| 国产福利资源一区| 国产精品自拍区| 国产精品久久久久av蜜臀| 国产精品久av福利在线观看| 久久av网站| 精品99在线| 日韩中文影院| 日韩精品影视| 亚洲午夜91| 国产精品色网| 日本亚洲视频| 久久爱www.| 久久影院午夜精品| 久久精品亚洲人成影院| 欧美日韩激情| 中文字幕亚洲影视| 欧美片第1页综合| 欧美精品aa| 神马午夜在线视频| 黄色不卡一区| 亚洲字幕久久| 国产精品黄色| 国产一区二区三区成人欧美日韩在线观看| 精品午夜视频| 日韩精品水蜜桃| 玖玖玖国产精品| 欧美一区成人| 久久久久久网| 国产视频一区三区| 日韩美女精品| 国产精品hd| 日韩另类视频| 午夜在线精品| 国产精品综合色区在线观看| 国产美女高潮在线观看| 婷婷久久一区| 日本强好片久久久久久aaa| 国产精品一区二区三区美女| 国产精品不卡| 国产亚洲一区在线| 欧美亚洲专区| 日韩大片在线| 免费精品视频最新在线| 国产精品香蕉| 久久精品123| 四虎成人精品一区二区免费网站| 国产精品玖玖玖在线资源| caoporn视频在线| 蜜臀av国产精品久久久久| 国产日韩欧美在线播放不卡| 高潮一区二区| 日本亚洲视频| 国产第一亚洲| 蜜桃久久av| 精品亚洲免a| 六月婷婷一区| 国产在线观看91一区二区三区| 亚洲综合精品| 久久精品系列| 亚洲精品91| 国产精品99久久免费| 激情六月综合| 国产精品高清一区二区| 欧美影院三区| 欧美激情亚洲|