Hallo zusammen,
ich möchte zwei BackGroundWorker parallel laufen lassen. Aber erst wenn beide fertig sind die nächste Operation durchführen...
Ich hab hier mal nen paar Codezeilen, kann man das so machen oder gibt`s dafür einen bessere Lösungsweg ?
[highlight=vbnet]W1 =False
W2 = False
MyWorker1RunWorkerAsync()
MyWorker2RunWorkerAsync()
Do
Application.DoEvents()
loop until W1 = True and W2 = True
'....Weiter mit Code
[/highlight]
[highlight=vbnet]
Private Sub MyWorker1_Completed(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs)
ContactBindinSourceDo.RaiseListChangedEvents = True
W1= True
End Sub
Private Sub MyWorker2_Completed(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs)
ContactBindinSourceDo.RaiseListChangedEvents = True
W2= True
End Sub
[/highlight]
Wie sieht das aus, wenn ein Worker auf Fehler läuft, wird dann trotzdem Completed ausgelöst. Oder muss ich da noch irgenwo Code einbrigen, damit ich den entsprechenden Flag auf True setze.
An welcher Stelle müsste ich das dann tun ?
ich möchte zwei BackGroundWorker parallel laufen lassen. Aber erst wenn beide fertig sind die nächste Operation durchführen...
Ich hab hier mal nen paar Codezeilen, kann man das so machen oder gibt`s dafür einen bessere Lösungsweg ?
[highlight=vbnet]W1 =False
W2 = False
MyWorker1RunWorkerAsync()
MyWorker2RunWorkerAsync()
Do
Application.DoEvents()
loop until W1 = True and W2 = True
'....Weiter mit Code
[/highlight]
[highlight=vbnet]
Private Sub MyWorker1_Completed(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs)
ContactBindinSourceDo.RaiseListChangedEvents = True
W1= True
End Sub
Private Sub MyWorker2_Completed(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs)
ContactBindinSourceDo.RaiseListChangedEvents = True
W2= True
End Sub
[/highlight]
Wie sieht das aus, wenn ein Worker auf Fehler läuft, wird dann trotzdem Completed ausgelöst. Oder muss ich da noch irgenwo Code einbrigen, damit ich den entsprechenden Flag auf True setze.
An welcher Stelle müsste ich das dann tun ?
Comment