Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1185 of 1492 menu
◀ ▶

TaskCompletionSource

TaskCompletionSource<int> держит незавершённую Task<int> до вызова SetResult или других методов.

Синтаксис

var tcs = new TaskCompletionSource<int>();

Пример

Давайте убедимся, что задача сначала не готова:

using System; using System.Threading.Tasks; class Program { static void Main() { var tcs = new TaskCompletionSource<int>(); Console.WriteLine(tcs.Task.IsCompleted); } }

Результат выполнения кода:

False

Пример

Давайте завершим через SetResult и дождёмся:

using System; using System.Threading.Tasks; class Program { static async Task Main() { var tcs = new TaskCompletionSource<int>(); tcs.SetResult(12345); int res = await tcs.Task; Console.WriteLine(res); } }

Результат выполнения кода:

12345

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить