この質問は、別のより一般的な (そしておそらく基本的な) 質問につながります。なぜTask
オブジェクトは再利用できないのでしょうか?
マイクロソフトは、説明なしで次の声明を書いています。
タスクは 1 回だけ開始および実行できます。タスクをもう一度スケジュールしようとすると、例外が発生します。
この背後にある理由は、説明に値しないほど明白なのでしょうか? Task
繰り返し設定して継続で開始してもパフォーマンスに影響はありませんか?
この質問は、別のより一般的な (そしておそらく基本的な) 質問につながります。なぜTask
オブジェクトは再利用できないのでしょうか?
マイクロソフトは、説明なしで次の声明を書いています。
タスクは 1 回だけ開始および実行できます。タスクをもう一度スケジュールしようとすると、例外が発生します。
この背後にある理由は、説明に値しないほど明白なのでしょうか? Task
繰り返し設定して継続で開始してもパフォーマンスに影響はありませんか?
Aは、将来のある時点で発生する可能性のある単一のTask
何かを表しています。タスクがいつ完了したか、完了した場合、そのタスクの最終状態などを公に示す手段を提供します。
タスクが完了して再び開始した後、IsCompleted
プロパティは何を返す必要がありますか? 完了しましたが、もう一度開始しました。呼び出し元は、開始されてから完了するまでの時間枠の間、最終状態 (つまり、キャンセルされたか、例外であるか、それが であるかなど) にのみアクセスできるべきだと言っていますResult
か? それは非常に紛らわしいでしょう。
繰り返される操作を表すことができる他のオブジェクト、または (他のオプションの中でも) などの非同期操作のコレクションがあります。IObservable
これは、特定の委任された、順次呼び出されます。