任务并行库-c#中的ContinueWith真的是异步的吗

本文关键字:异步 真的 ContinueWith 并行 -c# 中的 任务 | 更新日期: 2023-09-27 18:01:12

在我执行的任务上使用ContinueWith被认为是异步运行的,但它真的是异步的吗?我的意思是,如果我运行一个任务"t",并使用该任务调用sayt.ContinueWith(t=>t.Result(,这将异步运行吗?我知道在结果完成之前,它不会阻塞所有线程,但它会完全将句柄返回给调用者吗,还是会在线程之间进行上下文切换。

任务并行库-c#中的ContinueWith真的是异步的吗

在我执行的任务上使用ContinueWith被认为是异步运行的,但它真的是异步的吗?

是的。

我的意思是,如果我运行一个任务t并使用该任务调用t.ContinueWith(t=>t.Result),这会异步运行吗?

是的。

我知道在结果完成之前,它不会阻塞所有线程,但它会完全将句柄返回给调用者吗,还是会在线程之间进行上下文切换。

我不知道你在说什么手柄。ContinueWith()所做的是安排延续Task完成并立即返回时执行。