7

マルチプロセッシングを使用して計算されたものでセットアップされるでテストを作成しようとしています。

私はこのディレクトリ構造を持っています:

code/
    tests/
        tests.py

tests.py は次のようになります。

import multiprocessing as mp


def f(i):
    return i ** 2


pool = mp.Pool()
out = pool.map(f, range(10))


def test_pool():
    """Really simple test that relies on the output of pool.map.
    The actual tests are much more complicated, but this is all
    that is needed to produce the problem."""
    ref_out = map(f, range(10))
    assert out == ref_out

if __name__ == '__main__':
    test_pool()

codeディレクトリから実行するとpython tests/tests.py .

nosetests tests/tests.py 完了できません。起動しますが、呼び出しを通過せず、pool.mapハングします。

これはなぜですか?また、最も簡単な解決策は何ですか?

4

1 に答える 1