このコードは無限のプロセスを開始し、その後PCをクラッシュさせます。
import multiprocessing
def f(process_name):
print process_name, 'says hi'
p1 = multiprocessing.Process(None,f,'1',('1st',))
p1.start()
コンソールでは、「1st say hi」が何度も表示され、タスクマネージャーでは、多数の通訳者が開始しているのがわかります。これは、PyDevEclipse内およびコマンドライン内から実行しました。同じ結果です。
私が得たもう1つの結果は、単一のpythonインタープリターを実行していることです(ただし、別のインタープリターを非常に高速に起動して生成します)。そのため、タスクマネージャー内でそれを強制終了できませんでした(ハンドルが無効です)。しかし、それはプロセッサの100%を使い果たしていました。
私はJavaスレッディングAPIに慣れており、モジュールマルチプロセッシングは、Javaのコピーであるスレッディングモジュールと同様のインターフェイスを備えていると主張しています。
プロセスが死なないのはなぜですか?これが単一のスレッドを生成し、物を印刷して消滅させるだけで、私は何が欠けていますか?
Thx、君たちは支配する!