執行緒在同一進程內並發運行,共享記憶體空間。 Python 的全域解釋器鎖定 (GIL) 將執行緒一次執行一次,使其非常適合 I/O 密集型任務,但不適用於 CPU 密集型任務。
範例:一個簡單的執行緒程式
import threading def print_numbers(): for i in range(5): print(f"Number: {i}") # Create and start threads thread1 = threading.Thread(target=print_numbers) thread2 = threading.Thread(target=print_numbers) thread1.start() thread2.start() thread1.join() thread2.join()
多處理創建具有單獨記憶體空間的單獨進程,繞過 GIL。它最適合CPU 密集型任務,例如資料處理或模擬。
範例:多處理基礎
from multiprocessing import Process def print_numbers(): for i in range(5): print(f"Number: {i}") if __name__ == "__main__": process1 = Process(target=print_numbers) process2 = Process(target=print_numbers) process1.start() process2.start() process1.join() process2.join()
透過線程,Python 在單一進程中執行多任務。透過進程,Python 實現了跨多個核心的真正並行性。它們共同使您的程式碼高效且可擴展。
_?為掌握 Python 並發乾杯! _
以上是Python 多線程和多處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!