簡單的多執行緒:
import threading
import time
def run(n):
print ("task:", n)
time.sleep(2)
t1 = threading.thread(target=run, args=("t1",))
t2 = threading.thread(target=run, args=("t2",))
t1.start()
t2.start()
# run("t1")
# run("t2")
多執行緒用類的方式寫:
import threading
class mythread(threading.thread):
def __init__(self, n):
super(mythread, self).__init__()
self.n = n
def run(self):
print("running task ", self.n)
t1 = mythread("t1")
t2 = mythread("t2")
t1.start()
t2.start()
import threading
import time
def run(n):
print ("task:", n)
time.sleep(2)
start_time = time.time()
t_list =
for i in range(50):
t = threading.thread(target=run, args=("t".format(i), ))
t.start()
# 等待所有執行緒結束
for t in t_list:
t.join() # 等待乙個執行緒結束
print("all thread are finished.")
print("cost time is", time.time()-start_time) # 計算所有執行緒跑完後總共花的時間
守護執行緒:
import threading
import time
def run(n):
print ("task:", n)
time.sleep(2)
start_time = time.time()
for i in range(50):
t = threading.thread(target=run, args=("t".format(i), ))
t.setdaemon(true) # 把子執行緒設定為守護執行緒,主線程結束則全部結束
t.start()
print("all thread are finished.")
print("cost time is", time.time()-start_time) # 計算所有執行緒跑完後總共花的時間
Python學習筆記 多執行緒
引入多執行緒模組 import threading 任何乙個程序啟動的時候會預設的啟動乙個執行緒,這個執行緒叫主線程,主線程可以啟動新的子執行緒 獲取主當前執行緒的名稱 threading.current thread name 建立子執行緒 t threading.thread target fu...
python學習筆記 多執行緒
電腦同時執行有多個軟體,每乙個執行的軟體程式都是乙個程序。每乙個應用程式內,有多段程式同時執行,每一段程式就是乙個執行緒。python3 執行緒中常用的兩個模組為 thread 模組已被廢棄。使用者可以使用 threading 模組代替。所以,在 python3 中不能再使用 thread 模組。為...
Python學習筆記 多執行緒鎖
多執行緒的鎖 如果有多個執行緒同時操作乙個物件,如果沒有很好地保護該物件,會造成程式結果的不可預期 多執行緒中,所有變數都由所有執行緒共享,所以,任何乙個變數都可以被任何乙個執行緒修改,因此,執行緒之間共享資料最大的危險在於多個執行緒同時改乙個變數,把內容給改亂了。因此需要用鎖threading.l...