だから私はUIスレッドを持っています。人は何かを気に入ってクリックします。したがって、クリックするといくつかの関数呼び出しがトリガーされます。基礎となる関数呼び出しの 1 つは、数回試行してそのクレイジーな強打を行うことにより、汚れたディスクを読み取る CDROM ドライバーを使用します。
レスポンシブ UI が必要なので、関数呼び出しを待機します。そのため、人がクリックすると、関数は制御を UI スレッドに放棄します。関数は CDROM を読み取ろうとしますが、実際には汚れているため、呼び出し元に例外をスローします。その呼び出し元は再試行回数をカウントし、3 回試行し続けます。
それで、これがすべて待っている場合、どこにカウントを保持しますか?
カウントをより低いレベルに保ち、そのレベルが await で放棄された場合、IT は放棄されているため、3 回試行するまで再試行し続けることはできません。
でも諦めないとレスポンシブUIを維持できません。
Task オブジェクトにカウントを保持しますか? そして、正確にどのスレッド/待機レベルが再試行回数のチェックを担当できるのでしょうか?