簡體   English   中英

如何在 python 中並行處理

[英]how to parallel process in python

我有 1,000,000 條記錄要處理。 如果您使用單一代碼獲得 160,000 / 天。

我想要 python 代碼 1,000,000 / 天,什么是正確的 function? (線程/多處理/子進程/等)

我的單一代碼:

result = cursor.fetchall()

def myProcces(id,data):
    ......

for row in result:
    myProcces(row[0],row)

您選擇的模塊應基於您打算使用代碼進行的處理類型。 請進一步詳細說明手頭的任務類型。

  1. 多線程:如果手頭的任務是 I/O 綁定進程,例如 API 調用/請求響應,則應該使用它,涉及一些睡眠或等待時間。

  2. 多處理:如果手頭的任務是 CPU 密集型的,即涉及大量計算或 CPU 開銷,您應該使用它。

注意:如果您嘗試將多線程用於 CPU 密集型任務,那么它將以與單個程序相同的性能工作。

  1. 多線程和多處理的組合:如果程序涉及等待時間和 CPU 綁定部分,您可以使用兩者的組合。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM