首頁 > 後端開發 > Python教學 > Python 多線程和多處理

Python 多線程和多處理

DDD
發布: 2024-12-25 11:11:10
原創
637 人瀏覽過

Python Multithreading and Multiprocessing

1.多執行緒:輕量級並發

執行緒在同一進程內並發運行,共享記憶體空間。 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()
登入後複製

2.多處理:真正的並行

多處理創建具有單獨記憶體空間的單獨進程,繞過 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()
登入後複製

何時使用哪個

  • 使用多執行緒來執行檔案I/O、資料庫操作或網路請求等任務。
  • 使用多處理來執行影像處理、機器學習或資料分析等任務。

最後的想法:線程與進程

透過線程,Python 在單一進程中執行多任務。透過進程,Python 實現了跨多個核心的真正並行性。它們共同使您的程式碼高效且可擴展。
_?為掌握 Python 並發乾杯! _

以上是Python 多線程和多處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板