別の SO の質問では、バックグラウンド スレッドで同期リクエストを送信するのではなく、非同期ネットワーク リクエストを送信するようにアドバイスされました。糸を無駄にしないためでした。私はこれがどうしてそうなのかを理解しようとしています。
これがオリジナルのアプローチです。ここに 2 つのスレッドがあることは理解できます。1 つはメイン スレッド (1) で、もう 1 つは WCF 呼び出しを行うバックグラウンド スレッド (Task.Run) (2) です。
これは、提案されたアプローチの私のスケッチです。スレッドがどのように保存されるかを理解しようとしています。非同期 WCF 呼び出しの後、非同期 WCF 呼び出しからのコールバック用に別のスレッドが作成されませんか?
さらに考えてみると、コールバック処理が不要な場合は、1 つのスレッドしか使用されないのではないでしょうか。