C# Task.Run与Task.Factory.StartNew

在.NET4中Task.Factory.StartNew是调度新任务的主要方法,提供了许多任务调度功能与配置

但对于只需要开启新的后台任务委托来说书写起来并不够快

因此,在.NET Framework 4.5中,引入了新的Task.Run方法。这并不是说Task.Factory.StartNew过时了,而是无需指定一堆参数的快速书写方式。其实Task.Run其实也是按照Task.Factory.StartNew的逻辑实现的。

Task.Run(someAction);

完全等同于

Task.Factory.StartNew(someAction,CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default);

文自:Stephen Toub 微软C#性能优化大佬

更多细节:https://devblogs.microsoft.com/pfxteam/task-run-vs-task-factory-startnew/