Pular para o conteúdo principal

select, sync.WaitGroup e sync.Mutex

select

  • Permite gerenciar múltiplos channels, escolhendo o primeiro pronto para operação.
  • Similar a select em sistemas operacionais ou Selector em Java NIO.

Exemplo

Carregando editor interativo...

Saída

Recebido: Canal 1
Recebido: Canal 2

sync.WaitGroup

  • Sincroniza a espera pelo término de múltiplas goroutines.
  • Similar a CountDownLatch em Java.

Exemplo

Carregando editor interativo...

sync.Mutex

  • Garante exclusão mútua para proteger dados compartilhados.
  • Similar a synchronized ou ReentrantLock em Java.

Exemplo

Carregando editor interativo...
Caso de uso

select é usado em sistemas reativos, WaitGroup em tarefas paralelas, e Mutex em acesso a recursos compartilhados, como contadores ou caches.