G
go-concurrency-patterns
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
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
- Zainstaluj skill w swoim środowisku agenta, dodając go-concurrency-patterns do listy dostępnych umiejętności.
- 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.
- Użyj context.Context do zarządzania anulowaniem i timeoutami — zawsze przekazuj kontekst do funkcji worker, aby umożliwić graceful shutdown.
- 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.
- Debuguj race conditions uruchamiając aplikację z flagą -race, aby detector wychwycił niezabezpieczone dostępy do pamięci między goroutines.
- Testuj swoje wzorce na małych przykładach (jak pokazany kod z 3 workerami i timeoutem), zanim skalujesz do produkcji.