デーモン
主な目的は、子プロセスのプロセスを作成することです:主なプロセスは、実行する必要性によって複雑な作業があり、それはタスクのサブプロセスの同時実行を開くために私を助けました
主なプロセスは、プロセスが自分のプロセスを守るために設定されている、子プロセスを作成します
デーモンについて2つの点を強調する必要があります。
まず:デーモンは、メインプロセスのコード実行の終了後に終了します
第二:デーモンの中にはもはやそうでない場合は例外をスローし、子プロセスを回すことができません:AssertionErrorが:鬼神のプロセスは、子を持つことを許可されていません
我々は二つのタスクを同時に実行する必要がある場合は、マスター・プロセスと子プロセスをオープンすると、プライマリプロセス・タスクの終了後にタスクの子プロセスは、それがその後、子プロセスがすべき、もはや必要でない場合は、[OK]を実行していましたそれはデーモンを開くように設定された前に。メインプロセスコードは、デーモンが即座に終了、終了を実行します
子供は時間がたむろし始め受けていません
デーモンは子プロセスに実行されていない設定します
子供が投入前にデーモンでオンにする必要があります
マルチプロセッシングインポートプロセスは、 インポート時間 DEF :タスク(名) を印刷(" %Sは実行されている"%の名称) (time.sleep。3 ) プリントは(" %Sが行われ、"%の名前)を IF __name__ == " __main__ " : T =プロセス(対象=タスク、引数=(「サブプロセス1 」)) #のデーモンは子の電源を入れる前でオンにする必要があります t.daemon = 真 t.start() 印刷(「マスター」) 「」「 マスター 」「」
子プロセスをオープンにするためにタスクによって複雑にされ、メインプロセスにおけるタスクの子プロセスは、このタスクでは意味がない、死んでいる、子プロセスがデーモンすべきです
デーモン演習
メイン処理コードで終了し、あれば、印刷メイン処理メッセージとして、P1を実行または死ぬことはありません
マルチプロセッシングインポートプロセス インポート時間 デフ:FOO() 印刷(123 ) time.sleep( 1 ) プリント(" end123 " ) DEF :バール() 印刷(456 ) time.sleep( 3 ) プリント(" end456を" ) 場合 __name__ == ' __main__ ' : P1 =プロセス(目標= FOO) P2 =プロセス(目標=バー) p1.daemon = 真 p1.start() p2.start() 印刷(" メイン------- " ) '' ' メイン------- 456 end456 '''