日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
創(chuàng)新互聯(lián)Python教程:python多線程中join的應用場景

1、線程的join()方法表示等這個線程運行完畢,程序再往下運行。我們來看下面的例子

創(chuàng)新互聯(lián)專注于企業(yè)全網整合營銷推廣、網站重做改版、阜平網站定制設計、自適應品牌網站建設、成都h5網站建設、購物商城網站建設、集團公司官網建設、成都外貿網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為阜平等各大城市提供網站開發(fā)制作服務。

from threading import Thread
t = time.time()
for _ in range(5):    
th = Thread(target = myfun)    
th.start()   
 th.join()print(time.time() - t)
# 結果為 5.0047078132629395 秒

2、這里start()之后馬上join(),表示每一個線程都要運行結束才能進行下一次循環(huán),這樣就和沒有使用多線程沒有區(qū)別了。不過如果要計算多線程運行時間卻是要用到這個join()

我們先看一下不用join()的情況

from threading import Thread
t = time.time()
for _ in range(5):    
th = Thread(target = myfun)    
th.start()print(time.time() - t)
# 結果為  0.0009980201721191406 秒

3、它連1秒都沒有等,就輸出了結果,而且5個2是在打印出這個之后才輸出出來的。這是因為print(time.time() - t)是區(qū)別于那5次循環(huán)線程之外的第6個線程,它不會等待5個線程運行結束就會開始運行。所以這樣是無法獲得上面5個線程的運行時間的,我們需要用join()等待5個線程都運行結束。

代碼如下

from threading import Thread
t = time.time()ths = []
for _ in range(5):    
th = Thread(target = myfun)    
th.start()    
ths.append(th)for th in ths:    
th.join()print(time.time() - t
# 結果為 1.0038363933563232

join()不只是用于這種情形。當一步代碼運行依賴之前代碼運行完成時,就要加入join()命令。

以上就是python多線程中join的應用場景,希望能對大家有所幫助。更多Python學習指路:創(chuàng)新互聯(lián)python教程

本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。


分享名稱:創(chuàng)新互聯(lián)Python教程:python多線程中join的應用場景
網站網址:http://www.dlmjj.cn/article/djedjgg.html