在c#中的ContinueWith真的是异步的吗?

时间:2016-08-06 18:33:15

标签: c# task-parallel-library

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

1 个答案:

答案 0 :(得分:2)

  

对我执行的任务使用ContinueWith假设是异步运行,但它是否真的异步?

  

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

  

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

我不知道你在说什么句柄。 ContinueWith()做的是安排 continuation Task完成后执行,然后立即返回。