import threading,time
def axb(name):
time.sleep(1)
print('哈哈',name)
for i in range(10):
t = threading.thread(target = axb,args = (i,)) # 例項化乙個執行緒,啟動乙個執行緒,10個子執行緒一起執行axb函式,先暫停1秒
t.start()
print('game over')
# 有1個主線程,10個子執行緒,先執行主線程,主線程建立完10個子執行緒,不暫停直接輸出,子執行緒要暫停1秒再執行axb裡面的**才輸出
如果在for迴圈裡寫t.join(),只等待最後乙個執行緒,執行緒和執行緒之間是相互獨立的
import threadingimport time
def down_load():
time.sleep(5)
print('執行完了')
def movie():
time.sleep(1)
print('看電影')
start_time = time.time()
for i in range(10):
t = threading.thread(target=down_load)
t.start()
for j in range(5):
t = threading.thread(target=movie)
t.start()
print(threading.activecount()) # 檢視當前執行緒數,列印出16(1個主線程,15個子執行緒)
print(threading.current_thread()) # 檢視當前執行緒,列印出<_mainthread(mainthread, started 35028)>
end_time = time.time()
# 執行時先列印end_time - start_time,然後執行5次看電影,再執行10次執行完了
print(end_time - start_time)
主線程等待的兩種方式(第一種,比較麻煩):
import threading主線程等待的兩種方式(第二種,根據當前執行緒數判斷,如果當前執行緒數等於1,證明子執行緒都執行完了,不用定義list,也不用迴圈list,定義乙個死迴圈,什麼都不做):import time
def movie():
time.sleep(1)
print('看電影')
thread_list =
start_time = time.time()
for j in range(5):
t = threading.thread(target=movie)
t.start()
for thread in thread_list:
thread.join() # 主線程等待子執行緒
print(threading.activecount()) # 檢視當前執行緒數,列印出1,主線程等待五個子執行緒都執行完了
print(threading.current_thread()) # 檢視當前執行緒,列印出<_mainthread(mainthread, started 29960)>
end_time = time.time()
# 執行時先執行5次看電影,然後主線程往下走,**一次執行
print(end_time - start_time)
import threadingimport time
def movie():
time.sleep(1)
print('看電影')
start_time = time.time()
for j in range(5):
t = threading.thread(target=movie)
t.start()
while threading.activecount() != 1: # !=1讓它繼續迴圈,直到子執行緒結束執行
pass
print(threading.activecount()) # 檢視當前執行緒數,列印出1,主線程等待五個子執行緒都執行完了
print(threading.current_thread()) # 檢視當前執行緒,列印出<_mainthread(mainthread, started 29960)>
end_time = time.time()
# 執行時先執行5次看電影,然後主線程往下走,**一次執行
print(end_time - start_time)
C 主線程等待子執行緒執行結束
佐左佑右 原文 c 主線程等待子執行緒執行結束 由於主程式中呼叫matlab的dll檔案進行計算要用較長的時間,主介面會有很長時間的卡頓,造成的使用者感受十分不好,因此我想在呼叫時,將呼叫放入子執行緒中,然後在主線程中彈出乙個提示框,顯示資料正在載入,等子執行緒執行結束後,主線程繼續工作。使用的是中...
模擬主線程等待子執行緒的過程
今天看到一篇文章 講到主線程等待子執行緒執行完畢,如何判斷的問題.作者一開始採用的是簡單的sleep操作,但這種操作不能夠保證正確而且效率還比較低.於是作者自己設計了判斷子執行緒結束的方法,我也就實踐了這個方法.其實windows中提供的有系統函式來滿足需求,它就是waitformultipleob...
java執行緒池主線程等待子執行緒執行完成
今天討論乙個入門級的話題,不然沒東西更新對不起空間和網域名稱 工作總往往會遇到非同步去執行某段邏輯,然後先處理其他事情,處理完後再把那段邏輯的處理結果進行彙總的產景,這時候就需要使用執行緒了.乙個執行緒啟動之後,是非同步的去執行需要執行的內容的,不會影響主線程的流程,往往需要讓主線程指定後,等待子執...