任务-v-并行调用

时间:2018-10-19 08:08:04

标签: vb.net parallel-processing task

虽然这两种方法都对我有用,并且在操作时间上没有太多差异,但我想知道哪种方法是“更好”的使用方法,人们对这两种方法的体验是什么。

我有两个Sub,它们并行运行两个完全独立的例程;让我们称它们为Sub1和Sub2,因为我的想象力今天还没有激发!

我曾经使用Parallel.Invoke这样

Parallel.Invoke(New Action(AddressOf Sub1), New Action(AddressOf Sub2)

这很好。然后我发现了线程和任务...:-)

我将其更改为:

Dim task As Task
Dim tasks As New List(Of Task)

task = New Task(Sub() Sub1())
tasks.Add(task)
task.Start()

task = New Task(Sub() Sub2())
tasks.Add(task)
task.Start()
Task.WaitAll(tasks.ToArray)

同样,它似乎工作正常。

我曾考虑过寻找后台工作人员,但与Tasks相比,这些工作似乎不必要地复杂!

虽然这两个都是“工作”,但我很想知道人们认为什么是“可接受的”或“最佳的”使用。

0 个答案:

没有答案