##導入プロセス(理論部)
1.プロセスおよび手順の間の差
プロセスは、CPUが実行するプログラム、プログラムディスク上のファイルであります
2.いくつかの概念を紹介
シリアル:和解のプロセスのすべてのCPUによります。
同時:単一のCPUは、同時に(前後スイッチング)複数の処理を実行する、同時に実行するように見えます。
パラレル:複数のCPU、本当同時に複数のプロセスを実行しています。
妨害:IOと呼ばれる障害物に遭遇しました。
二つのプロセスを実行するCPU、障害物がないするプロセス、
ノンブロッキング:いいえIO。
ソケット:サーバー、クライアント2つのプロセスよりオープンプロセスはどのようなものです。
Pythonは、あなたがプロセスの数を開きたい場合は、主要なプロセス、オープン複数のサブプロセスでなければなりません。
Linuxでは、ウィンドウ:メインプロセスから子プロセスを開きます。
**同じ点:**原理:子供におけるオープンスペースのメイン処理二つの独立したプロセスは、互いに独立して、互いに分離されています。
**違い**:
Linuxの場合:子プロセスの初期データ空間は完全にメイン(親)プロセスからのコピーです。
窓:子プロセスの初期データ空間はメイン(親)プロセスから完全にコピーが、異なっています。
##プロセスモジュール導入
プロセス・モジュールは、このモジュールによって、作成のモジュール工程である、あなたは、作成プロセスを完了することができます。
このクラスのオブジェクトが得られるインスタンス化されたタスクをサブプロセス(まだ開始していない)ことを示しています
彼は強調しました:
1.パラメーターを指定するキーワードを使用する必要性
、伝達関数パラメータの目標位置を指定した2引数は、タプルの形態である、コンマが存在しなければなりません
パラメータ説明:
1.グループのパラメータが使用されていない、値は常にNoneです
2.ターゲットが実行される呼び出し元のオブジェクト、タスクの子プロセスを表し、
3.引数パラメータは(1,2、「エゴン」)引数の=、タプルコールオブジェクトの位置を示します
4. kwargsからはkwargsからは= { 'エゴン'、 '年齢':18 '名称'}、辞書にオブジェクトを呼び出します
5.名前は子プロセスの名前です。
プロセスアプローチ
1. p.start():プロセスを起動し、(子プロセスのp.runを呼び出すために)
2. p.run():操作方法、処理が開始されると、それは指定されたターゲットを呼び出すための関数である、我々この方法でのカスタムクラスが達成されなければなりません
3. p.terminate():pが強制的にpは子プロセスを作成した場合、子プロセスがゾンビプロセスになるために、任意の清掃作業を行わないであろう、プロセスを終了し、この方法は、特別なケアにこのような状況が必要です。pが、その後も、保存した場合はロックがデッドロックにつながる、解放されることはありません
4. p.is_alive():pがまだ実行されているとTrueを返すされている場合
5. p.join([タイムアウト]):(:メインスレッドの状態等で、pは走行状態にある強調)メインスレッドウェイトがp末端。タイムアウトは、タイムアウトがp.joinが開いてプロセスを開始し、ライブ実行オープンなプロセスに参加することはできませんライブに参加することができ、ことを強調しなければならないオプションです。
プロセス属性
1. p.daemon:Trueに設定されている場合、親プロセスpの終了は、Pも終了することになり、真の設定後、あなたがあなた自身のpを作成することができない場合は、デフォルト値は、Pの代表は、バックグラウンドで実行されているデーモンはFalseです新しいプロセスはp.startを設定する前に()でなければなりません
プロセス名:2. p.name
pidのプロセス:3 p.pid
4. p.exitcode:プロセスが-N場合、Noneに実行終了信号を表すN(理解できます)
5. p.authkey:デフォルトos.urandom 32ランダムに生成された文字列によって身元検証鍵工程、()。キーの目的は、通信に関わる根本的なプロセス間のネットワーク接続のセキュリティを提供するものである場合にのみ、同じ認証キーを使用して、(理解する)このタイプの接続を成功するには
何のフォーク(Linuxオペレーティングシステムのためのメカニズムを作成するプロセス)がないので、子プロセスを作成するときに、Windowsのオペレーティングシステムでは、自動的にそれを起動するには、このファイルをインポートしますが、彼らは、ファイル全体のインポートで実行するとき。だから、直接ファイルに記述された場合、プロセスは、()子プロセス無限再帰エラーを作成します。**名** ==「**メイン**」の判断保護、インポート時、それは再帰的に実行されません場合は、部分的に使用の子プロセスを作成する必要があります。
## Pythonなど多くの同時プロセス
のプロセスを開始するには、2つの方法
`
プロセスマルチプロセッシングから#インポート
#インポート時間
#1
#1
#DEFタスク(名前)
#1
#プリント(F '{名前}走行が')
#time.sleep(3)
#プリント(F「{名前}が行われると') ##
__main__#__name__ == IF' ':#のWindows環境で、オープンマルチプロセスの下に配置する必要があります。#の#= p過程(対象=タスク、引数の=('憎悪の兄弟」、))#の引数でなければなりませんタプル。の形で#p.start()は##オペレーティングシステムに通知し、あなたがpがこのプロセスに入り、その後、CPUが実行できるようになる、メモリ内のスペースを開くために私を与えている。#印刷( '===主要プロセスの)
学ぶため#第二の方法
マルチプロセッシングインポートプロセスから
のインポート時
クラスMyProcess(プロセス):
__init __ DEF(セルフ、名):
スーパー().__のinit __()#親クラスの__init__を継承しなければなりません
self.name =名前
デフ(自己)を実行します。#名は、実行を定義する必要があります。
プリント(F '{self.name}実行されている')
time.sleep(3)
プリント(F '{self.name}が行われます')
__name__ ==場合は、「__main__」:#のWindows環境で、オープンマルチプロセスは、この下に配置する必要があります
P = MyProcess(「憎悪が兄弟を憎む」)
p.start()
#は、オペレーティングシステムに通知し、あなたは彼らにこのプロセス、メモリ内のスペースを開くためにPを私になり与えられ、その後、CPUの実行を聞かせている。
印刷(「主要プロセス=== 「)
`
トップアンカージャンプ