Python多執行緒003之詳解 join

2021-08-18 09:00:57 字數 837 閱讀 4789

import threading

import time

#用類的方法實現多執行緒

class

mythread

(threading.thread):

def__init__

(self,n,sleep_time):

super(mythread,self).__init__()

self.n = n

self.sleep_time = sleep_time

# 這裡必須叫run

defrun

(self):

print('run task',self.n)

time.sleep(self.sleep_time)

print('task done',self.n)

t1 = mythread('t1',2)

t2 = mythread('t2',4)

t1.start()

t2.start() #這樣就是並行的,但還是等待第一執行的結果

t1.join() # = wait() 等待第乙個執行緒的執行結果 這個時候就變成序列的了

t2.join() #繼續等t2執行完畢後在執行主線程

print('main thread ...')

'''解釋:這裡print('main thread ...')是主線程的執行

然後我t1執行緒是執行兩秒,t2執行四秒,t1 t2是並行的執行,但是我的主程式

或者說主線程是等待t1執行完畢後才往下走或繼續執行,

最後才是t2執行完畢,因為它花的時間比主線程和t1長

'''

python多執行緒詳解 Python多執行緒詳解

前言 由於最近的工作中一直需要用到python去處理資料,而在面對大量的資料時,python多執行緒的優勢就展現出來了。因而藉此機會,盡可能詳盡地來闡述python多執行緒。但對於其更底層的實現機制,在此不做深究,僅是對於之前的一知半解做個補充,也希望初學者能夠通過這篇文章,即便是照葫蘆畫瓢,也能夠...

python多執行緒 python多執行緒

通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...

多執行緒詳解

多執行緒核心概念 普通方法呼叫執行緒 注意 執行緒啟動不一定立即執行,由cpu排程執行 執行緒的三種建立方式 實現runnable介面,繼承執行緒 thread 類,實現callable介面 方法一 繼承執行緒 thread 類 建立執行緒的方法1 繼承thread類,呼叫start啟動執行緒 注意...