它们似乎与我完全相同,这两行代码之间有区别吗?
new Task(myMethod).RunSynchronously();
// and
Task.Run(() => myMethod());
答案 0 :(得分:3)
如评论中所述,您可以看到文档中的差异:
Task.Run(() => myMethod());
将指定的工作排队以在线程池上运行,并返回表示该工作的Task对象。
new Task(myMethod).RunSynchronously();
在当前的TaskScheduler上同步运行任务。
因此,它们不再相同了。