Vejo muitas pessoas em postagens de blog e aqui no SO evitando ou aconselhando contra o uso da Thread
classe em versões recentes do C # (e, claro, 4.0+, com a adição de Task
& amigos). Mesmo antes, havia debates sobre o fato de que a funcionalidade de um thread simples e antigo pode ser substituída em muitos casos pela ThreadPool
classe.
Além disso, outros mecanismos especializados estão tornando a Thread
classe menos atraente, como Timer
a substituição do combo feio Thread
+ Sleep
, enquanto para GUIs temosBackgroundWorker
, etc.
Ainda assim, o Thread
parece ser um conceito muito familiar para algumas pessoas (inclusive eu), pessoas que, quando confrontadas com uma tarefa que envolve algum tipo de execução paralela, passam diretamente a usar o bom e velhoThread
classe. Ultimamente, tenho me perguntado se é hora de corrigir meus hábitos.
Portanto, minha pergunta é: há casos em que é necessário ou útil usar um Thread
objeto simples e antigo em vez de uma das construções acima?
64.5k
. Uma exibição bastante impressionante