![](/img/trans.png)
[英]Using Python's multiprocessing.Pool(), am I really doing multi-processing?
[英]What am I missing here in Multi-Processing?
import multiprocessing
import time
def sq(a):
for n in a:
time.sleep(0.2)
print('square '+str(n*n))
def cub(a):
for n in a:
time.sleep(0.2)
print('cube '+str(n*n*n))
if __name__ == "__main__":
arr=[2,3,4,5]
p1=multiprocessing.Process(target=sq,args=(arr,))
p2=multiprocessing.Process(target=cub,args=(arr,))
p1.start()
p2.start()
p1.join()
p2.join()
print('done')
在這里,我只完成了輸出,而不是正方形和立方體。
這是我正在嘗試進行多處理的代碼。 我在多線程的情況下得到了輸出,因為大多數語法是相同的,但在多處理的情況下則不然。
不幸的是,Python 中的多處理庫在 IDE 中不起作用。 我只是在 2 個不同的環境中仔細檢查了 2 個 IDE,但沒有一個訪問這些方法。 當我從命令行運行它時,它運行良好。 這篇文章中有一個解釋,這里Python 多處理
編輯:
從您在評論中分享的視頻來看,Pycharm 似乎是個例外。 我在我的進行了測試,它起作用了。 關鍵是代碼沒有任何問題。 如果它在您的 IDE 中不起作用,則意味着它不受支持。 所以我想你可以像教程中那樣使用 Pycharm,也可以使用命令行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.