Python學習筆記 多執行緒

2021-10-04 13:40:18 字數 1580 閱讀 7880

簡單的多執行緒:

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...