私のアプリはTaskFactoryを使用して作業を行っています。ユーザーが私のアプリのいくつかのインスタンスを起動したい場合、ユーザーがログオンすると、それをスタートアップエントリとして配置します。これを回避するために、アプリと同じ動作をする複数のスレッドを生成するサービスを作成したいと思います。TaskFactoryはThreadPoolを使用し、アプリインスタンスごとにスレッドプールが1つしかないため、パフォーマンスに影響しますか?
1 に答える
0
いいえ、パフォーマンスに影響が出る可能性はほとんどありません。ThreadPoolは、利用可能な多くのスレッドから始まります。スレッドプールで使用可能なスレッドよりも多くのスレッドを使用している場合を除いて(とにかく別のアーキテクチャが必要であることを示唆しています)、問題はないはずです。
スレッドが多いからといって、必ずしもパフォーマンスが向上するとは限らないことに注意してください。4コアCPUを使用している場合、最大スループットは4スレッドです。(それでも、他のアプリがそれらのコアを使用していない場合です。)その時点から問題でより多くのスレッドをスローしても、アプリのパフォーマンスは向上しません。
于 2011-09-06T14:36:55.117 に答える