创建任务时会发生什么情况
本文关键字:什么情况 任务 创建 | 更新日期: 2023-09-27 18:27:53
public MyClass foo(int parameter)
{
var foo = new Task<MyClass>(() => bar(parameter));
try
{
return foo.Result;
}
}
当我创建一个new Task
时,线程会发生什么.
这意味着新线程(B
(开始评估bar(parameter)
,当主线程(A
(进入foo.Result;
时,它们会等到B
完成并返回Result
?
从这里:
因此,不会启动">由其公共构造函数创建的任务称为"冷" 任务,因为它们在非计划期间开始其生命周期 TaskStatus.Created 状态,直到在这些状态上调用 Start 它们进展到已计划的实例
线程 B"(此外,">启动新任务"!= ">启动新线程"在一般情况下(。
当主线程 (A( 转到 foo 时。结果;他们等到 B 完成并返回结果?
由于没有"线程 B",线程 A 将永远等待。