2

multiprocessing.ConnectionPythonオブジェクトはスレッドセーフですか?

そうであれば、2 つのスレッドが同じ接続でconn.recv()conn.send()を同時に使用でき、全二重通信に役立つ可能性があります。

4

1 に答える 1

2

スレッドセーフではないようです。Python 3.2 までは、multiprocessing.Connectionオブジェクトにはセマフォが接続されておらず、それらを使用するライブラリ コードもありません。

興味深いことに、Python 3.3では実装が移動しました。ただし、ロック プリミティブは使用されません。

multiprocessingドキュメントは、モジュールのスレッドセーフについてあまり言及していません。Python ドキュメントの品質を考えると、これは少し予想外です。

于 2012-04-26T00:01:26.683 に答える