Kapan TaskCompletionSource <T> harus digunakan?

AFAIK, yang diketahuinya adalah bahwa pada titik tertentu, metode SetResultatau SetExceptiondipanggil untuk menyelesaikan Task<T>eksposur melalui Taskpropertinya. Dengan kata lain, ia bertindak sebagai produsen untuk Task<TResult>dan penyelesaiannya. Saya melihat contohnya di sini...