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

Task

Task - то же Task<int>, которую завершает SetResult. Повторные обращения к Task дают один объект.

Синтаксис

Task<int> task = tcs.Task;

Пример

Давайте убедимся, что два Task - одна ссылка:

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

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

True

Пример

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

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

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

12345

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

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