名詞定義:
請 AI 給個簡單例子
single_threaded.py
import time
def task(name):
print(f"開始任務: {name}")
time.sleep(2) # 模擬耗時操作
print(f"完成任務: {name}")
# 主程式
task("任務1")
task("任務2")
multi_threaded.py
import threading
import time
def task(name):
print(f"開始任務: {name}")
time.sleep(2) # 模擬耗時操作
print(f"完成任務: {name}")
# 主程式
thread1 = threading.Thread(target=task, args=("任務1",))
thread2 = threading.Thread(target=task, args=("任務2",))
# 啟動執行緒
thread1.start()
thread2.start()
# 等待所有執行緒完成
thread1.join()
thread2.join()
執行 & 結果
python single_threaded.py
# 結果
開始任務: 任務1
完成任務: 任務1
開始任務: 任務2
完成任務: 任務2
python multi_threaded.py
# 結果1
開始任務: 任務1
開始任務: 任務2
完成任務: 任務1
完成任務: 任務2
# 結果2(由於兩個任務幾乎同時開始,但完成的順序可能會有所不同,這取決於系統的執行緒調度。)
開始任務: 任務1
開始任務: 任務2
完成任務: 任務2
完成任務: 任務1
可以看到 singlethreaded 會一個任務完成才開始做下一個; multithreaded 則是兩個任務同時開始。