不期待的Task.Run和Task.RunSynchronously之间有什么区别

时间:2017-12-15 03:42:01

标签: c# .net

它们似乎与我完全相同,这两行代码之间有区别吗?

new Task(myMethod).RunSynchronously();
// and
Task.Run(() => myMethod());

1 个答案:

答案 0 :(得分:3)

如评论中所述,您可以看到文档中的差异:

Task.Run(() => myMethod());

  

将指定的工作排队以在线程池上运行,并返回表示该工作的Task对象。

new Task(myMethod).RunSynchronously();

  

在当前的TaskScheduler上同步运行任务。

因此,它们不再相同了。