Concorrência em C# (.NET): Programação Assíncrona e Paralela
Concorrência em C# (.NET): Programação Assíncrona e Paralela
Resumo:
As aplicações modernas exigem alto desempenho e capacidade de resposta. O livro «Concorrência em C# (.NET)» é um guia abrangente sobre programação assíncrona, paralela e multithread na plataforma .NET. Você aprenderá a escrever código eficiente, seguro e escalável que aproveita ao máximo os processadores multi-core modernos.
Sobre o que é este livro?
O livro cobre todos os aspetos-chave da programação concorrente em C#:
- Fundamentos de multithreading: criação e gestão de threads, pools de threads, sincronização.
- Programação assíncrona com async/await: imersão profunda no modelo de tarefas, contexto de sincronização, tratamento de erros e cancelamento de operações.
- Task Parallel Library (TPL): loops paralelos (Parallel.For/ForEach), tarefas (Task), agregação de resultados.
- Sincronização e locks: lock, Monitor, Semaphore, Mutex, ReaderWriterLockSlim, bem como primitivas modernas (Barrier, CountdownEvent).
- Coleções paralelas: ConcurrentDictionary, ConcurrentQueue, BlockingCollection e sua aplicação.
- Padrões de concorrência: Producer-Consumer, Pipeline, MapReduce, modelos do tipo Actor.
- Depuração e criação de perfis: ferramentas para encontrar deadlocks, race conditions e fugas de recursos.
Para quem é este livro?
O livro destina-se a programadores .NET de qualquer nível que queiram:
- Compreender como a assincronia funciona internamente.
- Evitar erros típicos (deadlock, race condition, thread starvation).
- Aumentar o desempenho das suas aplicações.
- Dominar abordagens modernas de concorrência no .NET 8/9.
Para a leitura, é suficiente um conhecimento básico de C# e .NET. Todos os conceitos são explicados do simples ao complexo, com muitos exemplos práticos.
O que você aprenderá?
- Como usar corretamente async/await em aplicações web, aplicações desktop e serviços.
- Qual a diferença entre assincronia e paralelismo.
- Como projetar classes thread-safe.
- Como trabalhar eficientemente com operações I/O-bound e CPU-bound.
- Como usar canais (Channels) para transferir dados entre threads.
- Como aplicar extensões reativas (Rx.NET) para cenários assíncronos complexos.
O livro contém mais de 50 exemplos práticos, prontos para uso em projetos reais. Você obterá não apenas teoria, mas também receitas comprovadas para resolver problemas do dia a dia.
Domine a concorrência em C# e torne as suas aplicações mais rápidas, fiáveis e escaláveis!