3

並列プログラミングを使用する際の典型的または実際の問題は何ですか? 実装するのは非常に難しい場合があります。インターネットでは、使い方は説明されていますが、その理由は説明されていません。

4

4 に答える 4

5

並列プログラミングを使用する最も一般的な理由は、パフォーマンスです。ただし、並列プログラミングを使用すると、すべてのプログラムが高速になるわけではありません。ほとんどの場合、アルゴリズムは、並列化可能な部分と、本質的にシーケンシャルな部分で構成されています。並列プログラミングを使用するとパフォーマンスが向上する可能性があることを常に考える必要があります。場合によっては、それを使用するためのオーバーヘッドにより、実際にプログラムが遅くなります。アムダールの法則を見て、達成できる潜在的なパフォーマンスの向上について詳しく学んでください。

並列計算の使用例のみが必要な場合: 本質的に並列なアルゴリズムのクラスがいくつかあります。この記事the dwarfs of berkeleyを参照してください。

于 2013-08-20T12:03:55.930 に答える
2

マルチスレッド アプリケーション アーキテクチャを使用するもう 1 つの理由は、応答性です。特定の時間、プログラムの実行をブロックする特定の関数があります。つまり、ファイル、ネットワークからの読み取り、ユーザー入力の待機などです。このような待機は CPU パワーを消費しませんが、多くの場合、プログラムの流れをブロックまたは遅くします。

このような場合にスレッドを使用することは、コードをより明確にするための良い方法です。(しばしば複雑で直感的でない) 入力のチェックを使用し、それらのチェックをプログラム フローに統合し、入力の処理と他のタスクを手動で切り替える代わりに、プログラマはスレッドを使用し、1 つのスレッドに入力を待機させ、もう 1 つのスレッドに実行させることを選択できます。計算。

つまり、複数のスレッドを使用すると、ネットワーク、ディスク、入力デバイス、または単に監視するなど、コンピューターが自由に使用できるさまざまなリソースをより適切に使用できる場合があります。

一般化: 複数のスレッド (並列データ処理を含む) を使用することは、速度と応答性の向上が同期コストとアプリケーションの並列化に必要な作業を上回る場合に推奨されます。

于 2013-08-20T13:28:06.020 に答える