Concorrência em Go (Golang): do básico aos padrões avançados
300 páginas
Portuguese
PDF
4.5

Concorrência em Go (Golang): do básico aos padrões avançados

Concorrência em Go (Golang): do básico aos padrões avançados

Autor:

Ano:

Resumo:

Concorrência é uma das principais características da linguagem Go (Golang), que permite criar aplicações de alto desempenho utilizando eficientemente processadores multi-core. O livro «Concorrência em Go (Golang)» é um guia prático que o levará desde conceitos básicos até padrões de design complexos.



Sobre o que é este livro?

O livro começa explicando conceitos fundamentais: o que são goroutines, como funcionam e como diferem das threads tradicionais. Você aprenderá a criar tarefas paralelas leves, gerenciar seu ciclo de vida e sincronizar o acesso a dados compartilhados. Atenção especial é dada aos canais — o mecanismo único do Go para troca segura de dados entre goroutines.



O livro aborda detalhadamente:

  • Goroutines e o escalonador Go — como executar milhares de tarefas paralelas sem perda de desempenho.
  • Canais (channels) — bufferizados e não bufferizados, unidirecionais, construções select e range.
  • Sincronização — mutexes, wait groups, variáveis condicionais, operações atômicas.
  • Padrões de concorrência — worker pool, fan-in/fan-out, pipeline, pipeline cancellation, errgroup.
  • Tratamento de erros — graceful shutdown, context.Context, timeouts e deadlines.
  • Perfilamento e depuração — busca de deadlocks, race conditions, vazamentos de goroutines.


Para quem é este livro?

  • Desenvolvedores Go iniciantes que desejam aprender concorrência do zero.
  • Programadores experientes em outras linguagens (Python, Java, C++) migrando para Go.
  • Engenheiros que trabalham com sistemas de alta carga, servidores web, microsserviços.
  • Todos que desejam escrever programas paralelos confiáveis, escaláveis e rápidos.


O que você aprenderá?

Ao ler o livro, você aprenderá a:

  • Projetar e implementar algoritmos concorrentes.
  • Usar eficientemente goroutines e canais para processar fluxos de dados.
  • Evitar erros comuns: condições de corrida, deadlocks, vazamentos de recursos.
  • Aplicar padrões avançados para construir sistemas tolerantes a falhas.
  • Integrar concorrência em projetos reais (API, backend, utilitários de linha de comando).


O livro contém muitos exemplos de código, exercícios e problemas para resolver de forma independente. Todos os exemplos foram testados nas versões atuais do Go (1.20+). Independentemente do seu nível atual, você encontrará aqui conhecimentos valiosos que poderá aplicar imediatamente na prática.



Concorrência em Go não é apenas teoria, mas uma ferramenta que tornará seus programas mais rápidos, confiáveis e escaláveis. Comece sua jornada no mundo da programação paralela hoje mesmo!

Recommendations