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 sobre um dos tópicos mais poderosos e, ao mesmo tempo, complexos da linguagem de programação Go. Se você já domina os fundamentos da sintaxe e deseja avançar para o próximo nível, criando aplicações de alto desempenho, tolerantes a falhas e escaláveis, este livro será seu companheiro indispensável.



Concorrência não é apenas a capacidade de executar várias tarefas simultaneamente. Em Go, ela está incorporada na própria arquitetura da linguagem: goroutines leves, canais eficientes para troca de dados e uma rica biblioteca padrão. No entanto, o uso incorreto dessas ferramentas pode levar a bugs difíceis de detectar — condições de corrida, deadlocks e vazamentos de recursos. Este livro ajudará você a evitar essas armadilhas e a aprender a pensar de forma concorrente.



O que você aprenderá neste livro:

  • Goroutines: Como executar milhares de tarefas paralelas com sobrecarga mínima, gerenciar seu ciclo de vida e evitar vazamentos.
  • Canais: Organização da troca segura de dados entre goroutines, sincronização e construção de pipelines de processamento.
  • Padrões de concorrência: Fan-In, Fan-Out, Worker Pool, Pipeline, Or-Channel e outras soluções arquiteturais consagradas.
  • Sincronização: Uso de mutexes, WaitGroup, Cond e operações atômicas para proteger recursos compartilhados.
  • Context: Gerenciamento do tempo de vida das goroutines, cancelamento de operações e passagem de metadados através do contexto.
  • Testes: Escrita de testes para código concorrente, detecção de condições de corrida com o detector embutido.
  • Tratamento de erros: Como lidar corretamente com erros em ambientes multithread, sem perder informações sobre falhas.
  • Exemplos reais: Desde um web scraper simples até um servidor de chat distribuído e um sistema de processamento de eventos.


Para quem é este livro:

  • Desenvolvedores Go que conhecem o básico e desejam dominar a concorrência.
  • Programadores de outras linguagens (Python, Java, C++) que estão migrando para Go e querem entender seu modelo único de paralelismo.
  • Engenheiros backend, especialistas em DevOps e todos que criam sistemas de alta carga e microsserviços.
  • Estudantes e professores que estudam abordagens modernas para programação paralela.


O livro é escrito em linguagem simples e clara, com muitos exemplos de código e exercícios práticos. Cada capítulo contém exercícios para fixação do conteúdo. Após a leitura, você será capaz de projetar e implementar com confiança sistemas concorrentes em Go que funcionarão de forma rápida, estável e segura.



Não importa se você está criando um servidor web, um processador de dados ou uma ferramenta de linha de comando — entender a concorrência em Go abrirá novas possibilidades para otimização e construção de arquiteturas elegantes.

Recommendations