違い: 並列処理とは、複数の命令が複数のプロセッサ上で同時に実行されることを意味し、ミクロとマクロの両方の観点から見て、両方が一緒に実行されます。同時実行性とは、同時に実行できる命令は 1 つだけですが、複数のプロセス命令が高速回転で実行されることを意味します。これにより、マクロの観点からは複数のプロセスが同時に実行されますが、ミクロの観点からは同時に実行されません。
同時実行性と並列性は次のとおりです。
説明 1: 並列性とは、複数のイベントが同時に発生することを意味します。同時; 同時実行とは、2 つ以上のイベントが同じ時間間隔で発生することを意味します。
説明 2: 並列処理は、異なるエンティティ上の複数のイベントであり、同時実行性は、同じエンティティ上の複数のイベントです。
説明 3: 並列処理とは、複数のプロセッサ上で複数のタスクを同時に処理することです。たとえば、Hadoop 分散クラスタでは、同時実行とは、1 つのプロセッサ上で複数のタスクを「同時に」処理することを意味します。
したがって、同時プログラミングの目標は、プロセッサの各コアを最大限に活用して最高の処理パフォーマンスを達成することです。
並列: 複数のプロセッサ上で同時に実行される複数の命令を指します。したがって、ミクロの観点から見てもマクロの観点から見ても、この 2 つは同時に実行されます。
同時実行性: 同時に実行できる命令は 1 つだけですが、複数の処理命令が高速にローテーションして実行されるため、巨視的には複数のプロセスが同時に実行されることですが、微視的には同時に実行されるのではなく、複数のプロセスが交互に高速に実行されるように時間をいくつかのセグメントに分割しているだけです。
並列処理はマルチプロセッサ システムに存在しますが、同時実行はシングル プロセッサ システムとマルチプロセッサ システムの両方に存在できます。同時実行はシングル プロセッサ システムにも存在できます。並列処理の錯覚。並列処理では、プログラムが複数の操作を同時に実行する必要がありますが、同時実行では、プログラムが複数の操作を同時に実行するふりをするだけで済みます (短いタイム スライスごとに 1 つの操作を実行し、複数の操作の実行をすばやく切り替えます)。 )。
複数のスレッドが動作している場合、システムに CPU が 1 つしかない場合、複数のスレッドを同時に実行することは実際には不可能であり、CPU の実行時間を複数の時間に分割することしかできません。期間を指定し、その期間を各スレッドに割り当てて実行します。ある期間内のスレッド コードが実行されている間、他のスレッドは一時停止状態になります。この方法は同時実行 (Concurrent) と呼ばれます。
システムに複数の CPU がある場合、スレッド操作は同時に実行できない可能性があります。 1 つの CPU が 1 つのスレッドを実行すると、別の CPU が別のスレッドを実行することができ、2 つのスレッドは互いの CPU リソースを占有することなく、同時に処理を進めることができます。この方法を並列 (Parallel) と呼びます。
関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。
以上が同時実行と並列処理の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。