簡體   English   中英

我在多處理中缺少什么?

[英]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.

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