1

私はちょうど C# での並列プログラミングの方法を見つけており、コアと真の並列プログラミングの重要性を理解しています。

しかし、私はまだ質問があります:

長時間実行されるタスクがあるとします。これは、スレッド プールのスレッドを使用して、真の並列プログラミングのために異なるコアで実行されることを意味します。

それとも、タスクに渡される実際のデリゲートに依存しますか?

私の質問が明確であることを願っています。

4

2 に答える 2

2

デリゲート自体には違いはありません。それはTaskScheduler重要です。

デフォルトでTaskSchedulerは、それらを .. 経由で実行して同期的に実行します。現在使用されているインスタンスをThreadPool渡します。TaskSchedulerTaskScheduler.FromCurrentSynchronizationContext

于 2013-10-02T04:21:12.943 に答える
1

真の並列プログラミングには複数のコアが必要です。これは、スレッドが真に並列で実行されるためには別のスレッドで実行する必要があるためです。シングル コア システムでは、割り当てられたタイム スロットを通じて異なるトレッドがコアを共有する必要があるため、偽の並列処理しか実現できません。現在のスレッドがシングルコアで実行されている間、他のスレッドは待機しています。

于 2013-10-02T04:21:58.713 に答える