2009-04-11 6 views

答えて

7

通常、2つを同じ意味で使用できますが、違いを認識する必要があります。例えば、multiprocessing.Eventは名前付きセマフォーによってサポートされています。名前付きセマフォーは、アプリケーションの下のプラットフォームに敏感です。

Multiprocessing.LockはMultiprocessing.SemLockによってサポートされているため、名前付きセマフォが必要です。本質的には、それらを互換的に使用できますが、マルチプロセッシングのロックを使用すると、アプリケーションにいくつかのプラットフォーム要件が導入されます(つまり、BSDでは実行されません))

1

私はそうは思わない。スレッドロックは同じプロセス内にありますが、マルチプロセッシングロックは共有メモリ内にある可能性があります。

最後にチェックしたところ、マルチプロセッシングでは、スレッドロックであるキューでロックを共有できません。

1

はい、1プロセスのアプリケーションではマルチプロセッシングモジュールのロックを通常どおり使用できますが、マルチプロセッシングを使用している場合はロックを使用する必要があります。

関連する問題