例外のパフォーマンスヒットについて論争のある意見があります。1000タスクをキャンセルするThrowIfCancellationRequested()の代わりに?
ただし、タスクをキャンセルするためにThrowIfCancellationRequested
を使用する標準的な方法と思われます。
ここで、一度に1000個のタスクをキャンセルしたい場合、ThrowIfCancellationRequested
はまだ適切な方法ですか?
**編集**
[OK]を、私はテストを実行し、ThrowIfCancellationRequestedを使用するには、パフォーマンスの問題です。 TaskSchedulerは賢いので、1000タスク自体は問題ではありません。
ThrowIfCancellationRequestedのパフォーマンス上の欠点を持たないが、例外(いくつかのコード階層レベルにもかかわらず、扱いやすい)の利点を持っている優れた代替品があるかどうかは疑問です。
試しに試してみるとよいでしょう。 1000のタスクが大量であると、それだけでパフォーマンスの問題が発生する可能性があります。 – Sefe
いいえ、私はテストを実行しました。それは 'ThrowIfCancellationRequested'を使うためのパフォーマンス上の問題です。 TaskSchedulerは賢いので、1000タスク自体は問題ではありません。 'ThrowIfCancellationRequested'のパフォーマンス上の欠点を持たないが、例外(いくつかのコード階層レベルにもかかわらず扱いやすい)の利点を持っている良い置換えがあるかどうかは疑問です。 – eikuh