Jaka jest różnica między tworzeniem wątku za pomocą thread.start i przy użyciu pracownika tła?Thread.Start() kontra BackgroundWorker
5
A
Odpowiedz
11
Zakładając, że mówimy o .NET BackgroundWorker używa nici z thread pool (nie tworzyć nowy wątek, ale może to blokować, jeśli nie są dostępne w puli wątków) podczas Thread.Start rozpoczyna nowy wątek zarządzany.
3
Pracownik tła używa wątku z puli wątków. Pule wątków są zwykłymi wątkami, ale ponieważ są ponownie wykorzystywane, koszt ich uruchomienia jest amortyzowany. Ponieważ koszt uruchomienia wątku może być znaczący, pula wątków jest idealna dla krótkich zadań.
1
Dużą zaletą usługi BackgroundWorker jest to, że można wywoływać kod GUI w procedurze obsługi zdarzenia ProgressChanged.
Powiązane problemy
- 1. Różnica między Delegate.BeginInvoke i Thread.Start
- 2. Wątek Python uruchamia się przed wywołaniem Thread.start
- 3. obsługi błędów z BackgroundWorker
- 4. Limit czasu dla BackgroundWorker
- 5. Tworzenie BackgroundWorker z Queue
- 6. Metoda wywołania z BackgroundWorker
- 7. BackgroundWorker RunWorkerCompletedEventArgs.Cancelled zawsze fałszywe
- 8. BackgroundWorker RunWorkerCompleted Event
- 9. BackgroundWorker and ClipBoard
- 10. Backgroundworker nie będzie raportował postępu
- 11. BackgroundWorker Nie działa w VSTO
- 12. Czy można zabić wątek BackgroundWorker?
- 13. ponowne BackgroundWorker więcej niż raz
- 14. Zadanie równoległej biblioteki wymiany dla BackgroundWorker?
- 15. Uruchamianie obiektu BackgroundWorker w trybie ciągłym
- 16. Jak obsługiwać wyjątki z wątku BackgroundWorker?
- 17. Uruchamianie metody w BackGroundWorker i pokazywanie ProgressBar
- 18. BackgroundWorker raport postępu z zewnętrznej klasy?
- 19. Jak sprawić, aby BackgroundWorker zwrócił obiekt
- 20. Angular.js kontra Knockout.js kontra Backbone.js
- 21. VirtualBox - Klon kontra Snapshot kontra Kopia zapasowa
- 22. Porównanie repozytorium kontra dostawca kontra usługa
- 23. Najlepsza praktyka dla wielu metod długich za pomocą backgroundworker
- 24. Jak wysłać więcej argumentów w C# backgroundworker progresywnie zmieniono zdarzenie
- 25. Uzyskiwanie dostępu do kontroli interfejsu użytkownika z wątku BackgroundWorker
- 26. Korzystanie z klasy .NET BackgroundWorker w aplikacji konsolowej
- 27. Jak upewnić się, że interfejs użytkownika reaguje na używanie BackgroundWorker
- 28. Kiedy używać BackgroundWorker lub zarządzać wątkami na własną rękę?
- 29. Sprawdź, czy element istnieje w WebBrowser przy użyciu BackgroundWorker
- 30. Aktualizowanie interfejsu użytkownika przy użyciu usługi BackgroundWorker w pakiecie WPF