# 執行緒等待,多執行緒在執行的時候,每個執行緒都是獨立執行的,不受其他的執行緒干擾,如果想在哪個執行緒執行完之後,再做其他操作的話,就得等待它完成,那怎麼等待呢,使用join,等待執行緒結束
for t in threads: #等待3個子執行緒
t.join() #主線程等待子執行緒
end_time = time.time()
print(end_time-start_time)
#多程序,上面說了python裡面的多執行緒,是不能利用多核cpu的,如果想利用多核cpu的話,就得使用多程序,python中多程序使用multiprocessing模組。
import multiprocessing,threading
import time
def run2():
print('這是多執行緒啟動的')
def run():
time.sleep(2)
for i in range(5):
t = threading.thread(target=run2)
t.start()
if __name__ == '__main__':
for i in range(5):
p = multiprocessing.process(target=run)
p.start()
#執行緒鎖,執行緒鎖就是,很多執行緒一起在操作乙個資料的時候,可能會有問題,就要把這個資料加個鎖,同一時間只能有乙個執行緒操作這個資料
#加鎖是為了多執行緒的時候同時修改乙個資料的時候 有可能會導致資料不正確
#python3裡面鎖 你不加也無所謂,它會自動的給你加上鎖
#守護執行緒,什麼是守護執行緒呢,就相當於你是乙個國王(非守護執行緒),然後你有很多僕人(守護執行緒),這些僕人都是為你服務的,一但你死了,那麼你的僕人都給你陪葬。
python多執行緒 多程序
background task once join is used whether deamon attribute is true is not importantonly useful when the main program is running ok to kill starmap和map...
python多執行緒 多程序
threading相對與thread是更高階別的執行緒管理模組 thread和threading模組中的一些屬性會有衝突 thread模組擁有的同步原因實際上只有乙個lock,而threading有很多 lock,semaphore等 使用thread模組執行緒,當主線程結束時其子執行緒也會被強制結...
python 多執行緒多程序
多執行緒,適用於io密集型任務 多程序,適用於cpu密集型任務 資料分析,演算法,依賴cpu來運算 程序就是多個資源的集合,執行緒是包含在程序裡面的,執行緒和執行緒直接是相對獨立的 執行緒的優點 1.易於排程。2.提高併發性。通過執行緒可方便有效地實現併發性。程序可建立多個執行緒來執行同一程式的不同...