Pular para o conteúdo principal

Packages

Context

O pacote context em Golang serve para gerenciar o ciclo de vida de operações, especialmente em ambientes concorrentes. Ele permite:

  • Cancelamento controlado: Propagar sinais de cancelamento através de várias goroutines
  • Deadlines: Definir limites de tempo para operações
  • Valores com escopo: Transmitir dados específicos entre funções sem parâmetros explícitos
  • Controle de recursos: Evitar vazamentos de recursos ao garantir que operações sejam finalizadas adequadamente

Refs

Sync

O pacote sync fornece primitivas de sincronização para coordenar a execução concorrente:

  • Mutex/RWMutex: Garantir acesso exclusivo a recursos compartilhados
  • WaitGroup: Esperar que múltiplas goroutines completem seu trabalho
  • Once: Garantir que uma função seja executada apenas uma vez
  • Cond: Implementar variáveis de condição para sincronização avançada
  • Pool: Gerenciar pools de objetos reutilizáveis para reduzir a pressão no GC
  • Map: Fornecer um mapa thread-safe sem necessidade de bloqueios explícitos

Refs