Concorrência em Go (Golang): Um Guia Prático
300 páginas
Portuguese
PDF
4.5

Concorrência em Go (Golang): Um Guia Prático

Concorrência em Go (Golang): Um Guia Prático

Autor:

Ano:

Resumo:

O livro «Concorrência em Go (Golang)» é um guia prático completo que o ajudará a dominar um dos tópicos mais poderosos e, ao mesmo tempo, complexos da linguagem de programação Go. A concorrência está incorporada na própria arquitetura do Go e, sem compreendê-la, é impossível criar aplicações eficientes, rápidas e escaláveis. Este livro irá guiá-lo desde os fundamentos até os padrões avançados usados em sistemas de produção.



Sobre o que é este livro

O livro começa com conceitos fundamentais: o que são goroutines e como elas diferem das threads do SO, como funcionam os canais (buffered e unbuffered) e como sincronizar corretamente o acesso a dados usando mutexes e operações atômicas. Você aprenderá a evitar condições de corrida (race condition) e deadlocks. Em seguida, o autor aborda tópicos mais complexos:

  • Padrões usando select e timeouts
  • Organização de pipelines de dados
  • Gerenciamento de grupos de goroutines com sync.WaitGroup e errgroup
  • Uso de um pool de workers para controlar o paralelismo
  • Contextos (context) e cancelamento de operações
  • Primitivas de sincronização avançadas: sync.Once, sync.Pool, sync.Cond
  • Testes de código concorrente com go test -race


Para quem é este livro

O livro será útil para:

  • Desenvolvedores Go iniciantes que já dominam a sintaxe da linguagem e desejam entender como escrever programas multithread eficientes
  • Programadores experientes em outras linguagens (Java, C#, Python) que estão migrando para Go e querem aprender seu modelo único de concorrência
  • Desenvolvedores backend que criam serviços de alta carga, microsserviços, servidores web e sistemas de tempo real
  • Estudantes e todos que se interessam por programação paralela e desejam aprender as melhores práticas


O que você aprenderá após a leitura

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

  • Projetar arquiteturas concorrentes corretamente, evitando erros típicos
  • Usar eficientemente goroutines e canais para transferência de dados e sincronização
  • Escrever código confiável, protegido contra condições de corrida e deadlocks
  • Aplicar padrões avançados: fan-in, fan-out, or-done, tee-channel, bridge-channel
  • Integrar concorrência em projetos reais usando context e graceful shutdown
  • Perfilhar e depurar código concorrente

O livro contém muitos exemplos de código que podem ser executados e modificados imediatamente. Todos os exemplos são acompanhados de comentários e explicações detalhadas. Não é apenas teoria — é um guia prático que se tornará seu manual de referência sobre concorrência em Go.



O autor do livro é Alexei Kuznetsov, desenvolvedor backend sênior com 10 anos de experiência, dos quais os últimos 6 anos ele escreve em Go em projetos de alta carga. Alexei é conhecido por suas palestras em conferências da comunidade Go e por uma série de artigos sobre programação concorrente.

Recommendations