Toolverse
All skills

go-concurrency-patterns

by wshobson

Master Go concurrency with goroutines, channels, sync primitives, and context. Use when building concurrent Go applications, implementing worker pools, or debugging race conditions.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Author
wshobson
Category
DevOps
Views
70

About this skill

Master Go concurrency with goroutines, channels, sync primitives, and context. Use when building concurrent Go applications, implementing worker pools, or debugging race conditions.

How to use

  1. Zainstaluj skill w swoim środowisku agenta, dodając go-concurrency-patterns do listy dostępnych umiejętności.
  2. Zapoznaj się z podstawowymi primitywnymi Go: goroutines do lekkiego wykonania równoległego, kanały do komunikacji między goroutines, sync.Mutex do wzajemnego wykluczenia i sync.WaitGroup do czekania na zakończenie goroutines.
  3. Użyj context.Context do zarządzania anulowaniem i timeoutami — zawsze przekazuj kontekst do funkcji worker, aby umożliwić graceful shutdown.
  4. Implementuj worker pool, tworząc pętlę, która uruchamia N goroutines, każdy czytający z kanału zadań i wysyłający wyniki na kanał wyjściowy.
  5. Debuguj race conditions uruchamiając aplikację z flagą -race, aby detector wychwycił niezabezpieczone dostępy do pamięci między goroutines.
  6. Testuj swoje wzorce na małych przykładach (jak pokazany kod z 3 workerami i timeoutem), zanim skalujesz do produkcji.

Related skills