Junior
O que é paralelismo?
sobes.tech IA
Resposta da IA
O paralelismo (Parallelism) é a execução simultânea de várias tarefas ou partes de uma mesma tarefa, geralmente usando múltiplos núcleos de processador ou dispositivos de cálculo separados. O objetivo é reduzir o tempo total de execução do programa.
No .NET, para implementar o paralelismo, usam-se:
- Task Parallel Library (TPL): Biblioteca de alto nível para execução paralela de operações.
- Parallel LINQ (PLINQ): Paralelização de consultas LINQ.
- Trabalho manual com threads (Threads): Controle de baixo nível sobre a criação e gestão de threads.
Exemplo de uso do TPL:
// Exemplo de um ciclo paralelo simples
Parallel.For(0, 1000, i =>
{
// Executar alguma operação para cada i em paralelo
Console.WriteLine($"Iteração {i} no thread {Thread.CurrentThread.ManagedThreadId}");
Thread.Sleep(10); // Simulação de trabalho
});
Principais diferenças em relação à concorrência (Concurrency):
| Parâmetro | Paralelismo (Parallelism) | Concorrência (Concurrency) |
|---|---|---|
| Objetivo | Acelerar a execução através de trabalho simultâneo | Gestão de várias tarefas que podem ou não trabalhar simultaneamente |
| Requer | Múltiplos núcleos (ou dispositivos) para verdadeiro paralelismo | Múltiplos threads que podem alternar num único núcleo |
| Foco | Executar uma tarefa mais rapidamente (dividindo-a em partes) | Gestão e coordenação de várias tarefas independentes |
O paralelismo é especialmente eficaz para tarefas com alta carga computacional (CPU-bound), que podem ser divididas em subtarefas independentes.