在.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/