Task.Factory.StartNew()后跟Task.Wait()

时间:2015-11-18 17:20:29

标签: c# asynchronous task-parallel-library

我想知道创建和启动任务的重点是什么,然后调用等待任务。我一直认为任务的重点是异步编程,但这似乎只是为同步操作创造了更多的资源。

var task1 = System.Threading.Tasks.Task.Factory.StartNew(() => CheckMaps());
task1.Wait();

var task2 = System.Threading.Tasks.Task.Factory.StartNew(() => CheckTicker());
task2.Wait();

以下是我在寻找答案时找到的一些资源:

SO: ...calling Task.Wait()...after an asynchronous operation... - 任务声明后task.Wait()和task.Result()的结果。

A Stephen Toub Blog - Task.Wait()可以将任务从调度程序中拉出并以内联方式执行。 (在这种情况下,它不适用,因为任务已经开始。)

SO: Memory Barrier Generators - 创建任务会产生内存障碍。

这些资源主要回答了我的担忧,但是当我用标准方法调用替换所有这些任务时,我无法提供帮助,但感觉我有些破坏了。

背景中是否有特定Task.Factory.StartNew()与常规方法调用明显不同的内容?

0 个答案:

没有答案