2016-08-03 10 views
-3

C#でのmutithreadingと非同期プログラミングを学習しています。CPUバインドタスクとI/Oタスクを行うときのプログラミングの違い

は私がおよびI/OバウンドをバインドCPUの概念を理解し、私は他の内の1つのシナリオとするときにいるとき、私は実現しています。

要点はありません1つのシナリオともう1つのシナリオでどのようにプログラミングが異なるか; TPL、タスク、マルチスレッド、非同期などのコンテキストで使用します。

多分、両方の例が参考になります。

+0

CPU/I/Oバウンドプログラミングには実質的な違いはありません。マルチスレッド化はそれだけでは巨大な話題ですが、小さな例でさえ十分ではありません。あなたの質問は実際には多くの異なる質問のようです。 –

+2

CPU境界とI/O境界には異なるボトルネックがあります。 I/Oバウンドでasyncを使用すると、I/Oを待機している間にCPUサイクルを無駄にすることがありません。複数のスレッドを使用して複数のコアを利用するには、CPUバインドタスクで複数のスレッドを使用します。 Tasks/TPLは.NET Asyncの一部です。 –

答えて

0

i/oまたはcpuバインド用の特別なプログラミングはありません 開発するほとんどすべてのプログラムにはいくつかの入出力アクションがあり、実行時にはそれらは主に入出力操作であるプログラムですI/O boundと呼ばれる。すべてのあなたの特定のプログラム、 あなたのプログラムへの入力または出力を必要とするときあなたには、いくつかの方法でそれを取得する必要がありますについて

その、 はそれまでは、それが受け取っている、プログラムはそれを待つ必要があるが、必要はありませんそのための特別なタイプのプログラミングのために。

関連する問題