七、プロセス

 オペレーティングシステムの背景

  名前が示すように、実行中のプロセスであるプロセスは、プロセスが実行中のプログラムの抽象化です

  コンセプトは、オペレーティング・システムはまた、最古のいずれかを提供し、オペレーティングシステムの最も重要な抽象化は、プロセスの概念の周りに他のすべてのコンテンツはそう理解するために、展開され、オペレーティングシステムの中核概念であり、オペレーティングシステムのプロセスの起源このプロセスは、オペレーティングシステムを実装する必要があります理解します

  あなたは別のプログラミング、複数の仮想CPUのCPU(マルチチャネル技術に、同時にCPUのみ(初期のコンピュータが真である)を使用することができますが、また、(擬似)をサポートする能力を確保する場合でも:PSイベントマルチプレクサと空間多重分離ハードウェア+サポート)、抽象化のないプロセスが存在しない、現代のコンピュータが存在しなくなります

  必要な理論的根拠:

  オペレーティングシステムの役割:

  良い抽象インターフェースを提供する、醜い複雑なハードウェア・インターフェースを隠します

  ハードウェアの競合の管理、スケジューリング処理、および複数のプロセスが整然となり、

  マルチチャネル技術:

  背景:シングルコア、並行処理のために

  PS:典型的には、ホストは現在、マルチコアで、各コアは、マルチチャネル技術を使用します

  そこ4つのCPUは、あるプログラムCPU1を実行するために発生した障害物をioを、そしてioは再調整が終了するまで待機します、それは、オペレーティングシステムのスケジューリングアルゴリズムにより、特定の意思決定の4つのCPUのいずれかに派遣されます

  空間多重化:複数の同時チャネルプログラムなどのメモリ

  時間内に多重化:CPUの時間多重スライス

  

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -----

  プロセスのpythonプログラム動作で

  マルチモジュール:マルチは、モジュールが、パック操作、Pythonで管理プロセスではありません

  multiprocess.processモジュール

  プロセス・モジュールの紹介

  プロセス・モジュールは、このモジュールによって、作成のモジュール工程である、あなたは、作成プロセスを完了することができます

プロセス([グループ[、ターゲット〔 、名[、引数[、kwargsから]]]]])、 このクラスのオブジェクトが得られるインスタンス化されたサブタスク処理(まだ開始していない)を示し

強調:
 1 。キーの使用を必要パラメータ開発のワード手段
 2 関数に渡された目標位置パラメータに指定.args、カンマが存在しなければならない、タプルの形態で

パラメータを導入:
 1 .groupパラメータが使用されず、値は常になしている
 2が呼び出すオブジェクト.TARGETを表していません、その処理を実行するサブタスク
 3.argsオブジェクト位置パラメータは、コールタプル、引数=(1,2、ことを示すエゴン 4.kwargsその呼オブジェクト辞書、kwargsから= {示す名前エゴンを' 年齢':18である}
 5。子プロセスの名前として.nameの

 1。.p.start())プロセスを開始し、子プロセスは(p.runを呼び出し
 2.p.run():操作方法、プロセスを開始するには、それが指定されたターゲットを呼び出す関数をあるとき、我々はカスタムクラスが方法で達成されなければならない
 3 (.p.terminate):、プロセスPがない強制終了します特に、この方法を使用することが必要で、pは子プロセスを作成した場合、子プロセスがゾンビプロセスになるために、任意のクリーンアップ操作を実行する
の死につながった、解放されることはありませんpが、その後もロックを保存した場合、この場合は慎重にロック
 4 .p.is_alive():pがまだ実行された場合はリターン真
 5 .p.join([タイムアウト]):(終了するメインスレッドのPウェイトは強調:状態は、他のメインスレッドであり、そしてpは状態の実行であります)、タイムアウトは、オプションのタイムアウトがある
p.joinがライブに参加開かれたプロセスを開始し、ライブ実行オープンなプロセスに参加することはできません、ということを強調しなければならない

 1 trueに設定した場合、デフォルト値はFalseです:.p.daemonを親プロセスpを終了するために、Pも終了することになり、真の設定後、とき、Pの代わりに、バックグラウンドのデーモンで実行されている
p.start設定する前に、pは、独自のプロセスを作成することはできません、必要があります()
 2 .Pを.nameの:プロセスの名前
 3 .p.pid:プロセスは、PID
 4 同一試験プロセス:.p.exitcodeを キーは、デフォルトでは、ランダムに生成された32文字の文字列は、キーはプロセス間os.urandom()による基本的なネットワーク接続に関する使用することであり
、安全な通信、このようなリンクのみ同じ認証キーの特定を提供すること成功(理解します)

何のフォークは(Linuxオペレーティングシステムのプロセスを作成するためのメカニズム)が存在しないため、Windowsオペレーティングシステムで自動的にインポートされます、子プロセスを作成するときに、それをこの文書を開始し、中
(輸入彼らが、そうであれば、プロセスを全体のファイルを実行するとき)子プロセスが無限再帰エラーを作成するファイルに直接書き込まれ、部分の子プロセスを作成する必要がある
if__name__使用 == __main__ の判断保護、インポート時には再帰的に実行されませんが    

  プロセス・モジュールを使用してプロセスを作成します。

  Pythonのプロセスで開くサブプロセス、方法及び同時効果を開始

 

おすすめ

転載: www.cnblogs.com/blogbo/p/11798436.html