我如何从另一个线程通知等待任务完成
本文关键字:等待 任务 通知 线程 另一个 | 更新日期: 2023-09-27 18:15:59
考虑以下伪代码:
线程#1
var task = new Task<int>();
this.AwaitingTask = task;
return await task;
线程#2
this.AwaitingTask.Complete(16);
这样,#2
线程将传递返回值(int)并通知任务完成。因此,#1
线程将知道继续执行。
有可能实现吗?以及如何?我正在寻找最接近的想法,将以类似的方式工作。
您不必实现它。它已经发货了TaskCompletionSource<T>
var completionSource = new TaskCompletionSource<int>();
this.CompletionSource= completionSource;
return await completionSource.Task;
线程2 this.CompletionSource.SetResult(16);