Concurrency in C# Cookbook (Receitas de Programação Paralela em C#)
284 páginas
Portuguese
PDF
4.5

Concurrency in C# Cookbook (Receitas de Programação Paralela em C#)

Concurrency in C# Cookbook (Receitas de Programação Paralela em C#)

Autor:

Ano:

Resumo:

Introdução

O livro «Concurrency in C# Cookbook» (em português — «Receitas de Programação Paralela em C#») de autoria de Stephen Cleary é um dos melhores guias práticos para programação assíncrona e paralela no ecossistema .NET. Publicado em 2019 (segunda edição), ele é uma coleção de soluções comprovadas para tarefas típicas que todo desenvolvedor C# enfrenta ao trabalhar com multithreading, assincronia e paralelismo.

O livro é voltado para profissionais: não há teoria excessiva, mas sim receitas claras e prontas para aplicação. Cada receita contém a definição do problema, o código da solução, explicações e advertências. Isso torna o livro uma referência indispensável para quem deseja escrever código eficiente, seguro e escalável em C#.

Sobre o que é este livro

O livro aborda todos os aspectos-chave da programação paralela no .NET, desde os fundamentos de async/await até tópicos avançados, como programação reativa (Rx.NET), canais (Channels) e teste de código assíncrono. Ao todo, o livro tem 15 capítulos, cada um dedicado a uma área específica:

  • Capítulo 1. Fundamentos de async/await — criação e espera de tarefas, tratamento de erros, cancelamento de operações.
  • Capítulo 2. Fluxos de dados (Dataflow) — biblioteca TPL Dataflow para construção de pipelines de processamento de dados.
  • Capítulo 3. Programação reativa (Rx) — trabalho com sequências Observable.
  • Capítulo 4. Coleções paralelas — ConcurrentDictionary, ConcurrentQueue e outras estruturas thread-safe.
  • Capítulo 5. Bloqueios e sincronização — SemaphoreSlim, ReaderWriterLockSlim, AsyncLock.
  • Capítulo 6. Canais (Channels) — novo mecanismo Producer/Consumer no .NET Core.
  • Capítulo 7. Teste de código assíncrono — mocks, timeouts, verificação de corretude.
  • Capítulo 8. Cenários avançados — fluxos assíncronos (IAsyncEnumerable), ValueTask, ConfigureAwait.

Cada receita segue um modelo único: problema → solução → discussão → advertências. Isso permite encontrar rapidamente a resposta necessária e aplicá-la imediatamente no projeto.

Para quem é este livro

O livro é destinado a desenvolvedores C# que já possuem experiência básica com a linguagem e a plataforma .NET. Será útil para:

  • Desenvolvedores Backend, que criam serviços de alta carga em ASP.NET Core.
  • Desenvolvedores de aplicativos desktop (WPF, WinForms), que desejam evitar travamentos da interface do usuário.
  • Engenheiros migrando do .NET Framework para .NET Core/.NET 5+, para dominar abordagens modernas de assincronia.
  • Líderes técnicos e arquitetos, que precisam tomar decisões sobre a escolha de ferramentas para processamento paralelo.

Iniciantes em programação assíncrona devem primeiro ler os capítulos introdutórios, mas, no geral, o livro pressupõe que o leitor já conhece os fundamentos do C#.

O que o leitor aprenderá

Após estudar o livro, você será capaz de:

  • Usar corretamente async/await sem deadlocks e race conditions.
  • Construir pipelines de processamento de dados com TPL Dataflow.
  • Trabalhar com fluxos reativos (Rx.NET) para processar eventos e dados em streaming.
  • Escolher a coleção thread-safe adequada para cada tarefa.
  • Implementar bloqueios assíncronos e outros primitivos de sincronização.
  • Usar canais (Channels) para comunicação eficiente entre produtor e consumidor.
  • Escrever testes para código assíncrono com xUnit e Moq.
  • Entender a diferença entre Task, ValueTask, IAsyncEnumerable e escolher o tipo ideal.

Pontos fortes do livro

Recommendations