12 из 250 вопросов — случайная выборка · Ответьте на все и узнайте свой результат
C# · Async & Multithreading
Чем TaskCompletionSource<T> отличается от Task.FromResult<T>?
TaskCompletionSource<T>
Task.FromResult<T>
Они функционально идентичны; TaskCompletionSource<T> — просто более многословный способ достичь того же результата
Task.FromResult<T> поддерживает токены отмены, а TaskCompletionSource<T> — нет
TaskCompletionSource<T> позволяет отложить завершение задачи и управлять им извне, в то время как Task.FromResult<T> сразу возвращает уже завершённую задачу
Task.FromResult<T> запускается на фоновом потоке, а TaskCompletionSource<T> завершается на потоке вызывающего