Junior — Middle
Como distinguir o trabalho com threads Thread do uso de tarefas Task no contexto de multithreading?
sobes.tech IA
Resposta da IA
Em C#, Thread e Task servem para organizar trabalho paralelo, mas diferem em nível de abstração e uso:
-
Thread — um objeto de baixo nível que representa uma thread do sistema operativo. Gerenciar threads requer controlo manual: criação, início, sincronização.
-
Task — uma abstração de nível superior que representa uma operação assíncrona que pode ser executada num pool de threads.
Tasksimplifica o trabalho com assíncronia e paralelismo, e integra-se comasync/await.
Exemplo:
// Uso de Thread
Thread thread = new Thread(() => Console.WriteLine("Thread"));
thread.Start();
// Uso de Task
Task task = Task.Run(() => Console.WriteLine("Tarefa"));
task.Wait();
Resultado: Thread é gestão direta de threads do sistema operativo, Task é uma forma conveniente de trabalhar com operações assíncronas e paralelas usando um pool de threads.