溫馨提示×

python線程join的用法是什么

小億
104
2023-11-16 04:04:52
欄目: 編程語言

在Python中,join()方法用于等待線程完成其任務。當線程調用join()方法時,主線程將等待該線程完成執行,然后再繼續執行后面的代碼。

join()方法有兩種用法:

  1. join()方法不帶參數:調用該方法的線程將等待該線程執行完成。
import threading

def my_function():
    print("Thread started")
    # 執行線程任務
    print("Thread finished")

# 創建線程
my_thread = threading.Thread(target=my_function)

# 啟動線程
my_thread.start()

# 等待線程執行完成
my_thread.join()

print("Main thread finished")

輸出:

Thread started
Thread finished
Main thread finished
  1. join(timeout)方法帶有一個可選的超時參數。如果指定了超時時間,那么主線程將等待指定的時間,如果線程在超時時間內沒有執行完畢,則主線程會繼續執行后續代碼。
import threading

def my_function():
    print("Thread started")
    # 模擬長時間運行的任務
    for _ in range(5):
        pass
    print("Thread finished")

# 創建線程
my_thread = threading.Thread(target=my_function)

# 啟動線程
my_thread.start()

# 等待線程執行完成,最多等待1秒
my_thread.join(1)

print("Main thread finished")

輸出:

Thread started
Thread finished
Main thread finished

需要注意的是,如果主線程在調用join()方法之前,線程已經執行完成,則join()方法將立即返回,不會有任何等待。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女