如何等待所有后台进程完成并合并从每个后台进程获得的结果

时间:2018-04-11 06:20:50

标签: vb.net background-process

在下面的代码中我动态创建了后台进程,我有问题

  

1。)有没有办法将 val 作为参数发送给WorkerDoWork?

     

2.。)如何检查所有后台进程是否已完成并合并从后台进程中获得的所有结果集?

For Each val In clientdict.Values.Distinct
                ' deal with it. 
                NumWorkers = NumWorkers + 1
                'MessageBox.Show(NumWorkers.ToString)
                ReDim Workers(NumWorkers)
                Workers(NumWorkers) = New BackgroundWorker
                Workers(NumWorkers).WorkerReportsProgress = True
                Workers(NumWorkers).WorkerSupportsCancellation = True
                AddHandler Workers(NumWorkers).DoWork, AddressOf WorkerDoWork
                AddHandler Workers(NumWorkers).RunWorkerCompleted, AddressOf WorkerCompleted
                Workers(NumWorkers).RunWorkerAsync()

            Next

    Private Sub WorkerDoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs)

    End Sub
    Private Sub WorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs)
        ' I'm done!
    End Sub

0 个答案:

没有答案