【发布时间】:2020-03-01 16:40:49
【问题描述】:
这两个代码示例之间有什么不同吗?他们似乎工作相同。 示例 1:
Task<int> task = Task.Run(() =>
{
Console.WriteLine("Foo");
Thread.Sleep(6000);
return 2137;
});
Console.WriteLine("something...");
Thread.Sleep(3000);
Console.WriteLine("something again...");
Console.WriteLine(task.Result);
Console.WriteLine("nothing");
示例 2:
new Thread(() =>
{
Console.WriteLine("Foo");
Thread.Sleep(6000);
tcs.SetResult(2137);
})
{ IsBackground = true }.Start();
Console.WriteLine("something...");
Thread.Sleep(3000);
Task<int> task = tcs.Task;
Console.WriteLine("something again...");
Console.WriteLine(task.Result);
Console.WriteLine("nothing");
【问题讨论】:
标签: c# .net concurrency