マルチプロセスの2つの実施形態
1234 ワード
10個の処理時間が10秒の同じプロセスが実行されると.
n 1秒で対応するタスクを実行
n 2 1秒のタスクを実行する
.
.
.
n 10 1秒のタスクを実行する
n 1秒で対応するタスクを実行
n 2秒対応タスクの実行
.
.
.
n 10 2秒のタスクの実行
.
.
.
n 1 10秒のタスクの実行
n 2 10秒のタスクの実行
.
.
.
n 10秒タスクの実行
n 1タスク完了時間100秒
n 2ジョブ完了時間100秒
n 3操作完了時間は100秒
タスク完了時間10*10=100秒+α : 前処理時間10 x 10(nが実行されるたびに繰り返される)
単純なマルチプロセス(1~2プロセス)を実装すると、大きな問題は発生しませんが、プロセスが多くなり、論理が複雑になると、作業時間が遅れる可能性があります.
プロセスは独立しているため、1つのプロセスに問題が発生しても、他のプロセスには影響しません.
マルチスレッドに比べて、リソースの効率が低いと考えられます.
これは、複数のプロセスを処理する必要がある場合に同じデータを使用し、これらのデータを1つのディスクに配置し、すべてのプロセッサ(CPU)を共有することによって補うことができる.
同じリソースにアクセスするときに順番に処理されるため、問題が発生する確率は低い.
キューに管理されているリソースが多すぎると、処理速度が低下する可能性があります.
データの処理が容易で、処理速度が速い
n 1終了後運転n 2
n 2終了後、n 3運転
.
.
.
n 9完了後、n 10運転
n 1タスク完了時間10秒
n 2操作完了時間20秒
n 3操作完了時30秒
タスク完了時間10*10=100秒+α : 前処理時間10
n1 n2 n3 . . . n8 n9 n10
プロセスを分割して実行
プロセスを部分的に分割して実行し、実行を続行します。
n 1秒で対応するタスクを実行
n 2 1秒のタスクを実行する
.
.
.
n 10 1秒のタスクを実行する
n 1秒で対応するタスクを実行
n 2秒対応タスクの実行
.
.
.
n 10 2秒のタスクの実行
.
.
.
n 1 10秒のタスクの実行
n 2 10秒のタスクの実行
.
.
.
n 10秒タスクの実行
n 1タスク完了時間100秒
n 2ジョブ完了時間100秒
n 3操作完了時間は100秒
タスク完了時間10*10=100秒+α : 前処理時間10 x 10(nが実行されるたびに繰り返される)
単純なマルチプロセス(1~2プロセス)を実装すると、大きな問題は発生しませんが、プロセスが多くなり、論理が複雑になると、作業時間が遅れる可能性があります.
マルチプロセスのメリット
プロセスは独立しているため、1つのプロセスに問題が発生しても、他のプロセスには影響しません.
その他
マルチスレッドに比べて、リソースの効率が低いと考えられます.
これは、複数のプロセスを処理する必要がある場合に同じデータを使用し、これらのデータを1つのディスクに配置し、すべてのプロセッサ(CPU)を共有することによって補うことができる.
1.メッセージキュー
同じリソースにアクセスするときに順番に処理されるため、問題が発生する確率は低い.
キューに管理されているリソースが多すぎると、処理速度が低下する可能性があります.
2.共有ストレージ
データの処理が容易で、処理速度が速い
注)(単一プロセス)プロセスを順番に実行
1つのプロセスが完了したら、次のプロセスを続行するにはどうすればいいですか?
n 1終了後運転n 2
n 2終了後、n 3運転
.
.
.
n 9完了後、n 10運転
n 1タスク完了時間10秒
n 2操作完了時間20秒
n 3操作完了時30秒
タスク完了時間10*10=100秒+α : 前処理時間10
Reference
この問題について(マルチプロセスの2つの実施形態), 我々は、より多くの情報をここで見つけました https://velog.io/@kstech/Multi-process의-두-가지-구현-방식テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol