Widzę wiele osób w postach na blogach i tutaj na SO, które unikają lub odradzają używanie tej Thread
klasy w najnowszych wersjach C # (i mam na myśli oczywiście 4.0+, z dodatkiem Task
& friends). Jeszcze wcześniej toczyły się dyskusje na temat tego, że zwykły stary wątek może w wielu przypadkach zostać zastąpiony przez ThreadPool
klasę.
Ponadto inne wyspecjalizowane mechanizmy dodatkowo sprawiają, że Thread
klasa jest mniej atrakcyjna, na przykład Timer
zastępując brzydką kombinację Thread
+ Sleep
, podczas gdy w przypadku GUI, które mamy BackgroundWorker
, itp.
Mimo to Thread
wydaje się, że koncepcja pozostaje bardzo dobrze znana niektórym ludziom (w tym mnie), ludziom, którzy w obliczu zadania wymagającego pewnego rodzaju równoległej realizacji przechodzą bezpośrednio do używania starego, dobregoThread
klasy. Zastanawiałem się ostatnio, czy czas zmienić swoje postępowanie.
Więc moje pytanie brzmi: czy są jakieś przypadki, w których konieczne lub przydatne jest użycie zwykłego starego Thread
obiektu zamiast jednej z powyższych konstrukcji?
64.5k
. Całkiem imponujący pokaz