Personalnie użyłbym jednego wystąpienia usługi BackgroundWorker dla każdego zadania. Należy jednak pamiętać, że można wywołać kilka razy tę samą metodę delegowania w wielu różnych wystąpieniach wątku.
Dzięki jednemu narzędziu działającemu w tle na zadanie z długimi metodami, będziesz mieć pełną kontrolę nad swoimi metodami. Ponadto, jeśli chodzi o moje zrozumienie, gdy wystąpienie BackgroundWorker wykonuje zadanie, jest zajęty tym zadaniem w tle i dlatego czyni go niedostępnym dla innych. Być może jednak się mylę, ale to jest sposób, w jaki bym to zrobił, ponieważ program do obsługi zdarzeń DoWork() może wykonywać tylko to, co jest wymagane do wykonania tego BackgroundWorker. Wydaje mi się więc niemożliwe wykonywanie całkowicie różnych zadań tylko dla jednego wystąpienia BackgroundWorker.
Czy to pomaga?
Długi jak w liniach kodu lub długi jak w długim biegu? –
tak długo, jak długo. – wallybh