Sobes.tech
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.