2016-04-20 17 views
1
import multiprocessing as mul 

def f(x): 
    return x**2 

pool = mul.Pool(5) 
rel = pool.map(f,[1,2,3,4,5,6,7,8,9,10]) 

print(rel) 

上記のプログラムを実行すると、アプリケーションがループでスタックされ、停止できません。 私はWindowsでpython 3.5を使用していますが、何か間違っていますか?なぜpythonでpool.mapが動作しないのですか?

これは私が私の画面に表示されるものです。

私は、データ分析の資金調達のために新しいです。並列計算で大きなデータ問題を解決する方法を見つけようとしています。

+0

ブレイクそれをして、もう一度試してください。書かれているように(そして私がテストしたように)、このコードは完璧に動作するはずです。これはおそらくあなたのコードではなく、あなたが使っているシステムです。あなたはどんなプラットフォームですか? –

答えて

3

シェルでコマンドを入力しているため動作しません。コードをファイルに保存して直接実行してみてください。

コードを正しくコピーすることを忘れないでください。非常に重要なifステートメントがありませんでした(documentationを参照)。デスクトップ上の例example.py用ファイルへ

保存これ、:

import multiprocessing as mul 

def f(x): 
    return x**2 

if __name__ == '__main__': 
    pool = mul.Pool(5) 
    rel = pool.map(f,[1,2,3,4,5,6,7,8,9,10]) 

    print(rel) 

はその後、コマンドプロンプトと型開き:

python %USERPROFILE%\Desktop\example.py 
+0

ありがとうございます! – user6228086

関連する問題