go-concurrency-patterns – skill Lập trình cho agent AI
Làm chủ lập trình đồng thời trong Go với goroutine, channel, sync primitives và context. Dùng khi xây dựng ứng dụng Go đồng thời, triển khai worker pool hoặc gỡ lỗi race condition.
Cài skill go-concurrency-patterns bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/go-concurrency-patterns-65baf.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /go-concurrency-patterns – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/go-concurrency-patterns-65baf.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $go-concurrency-patterns – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/go-concurrency-patterns-65baf.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /go-concurrency-patterns – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/go-concurrency-patterns-65baf.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /go-concurrency-patterns – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Go Concurrency Patterns
Production patterns for Go concurrency including goroutines, channels, synchronization primitives, and context management.
When to Use This Skill
- Building concurrent Go applications
- Implementing worker pools and pipelines
- Managing goroutine lifecycles
- Using channels for communication
- Debugging race conditions
- Implementing graceful shutdown
Core Concepts
1. Go Concurrency Primitives
| Primitive | Purpose |
| ----------------- | -------------------------------- |
| goroutine | Lightweight concurrent execution |
| channel | Communication between goroutines |
| select | Multiplex channel operations |
| sync.Mutex | Mutual exclusion |
| sync.WaitGroup | Wait for goroutines to complete |
| context.Context | Cancellation and deadlines |
2. Go Concurrency Mantra
Don't communicate by sharing memory;
share memory by communicating.Quick Start
package main
import (
"context"
"fmt"
"sync"
"time"
)
func main() {
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
results := make(chan string, 10)
var wg sync.WaitGroup
// Spawn workers
for i := 0; i < 3; i++ {
wg.Add(1)
go worker(ctx, i, results, &wg)
}
// Close results when done
go func() {
wg.Wait()
close(results)
}()
// Collect results
for result := range results {
fmt.Println(result)
}
}
func worker(ctx context.Context, id int, results chan<- string, wg *sync.WaitGroup) {
defer wg.Done()
select {
case <-ctx.Done():
return
case results <- fmt.Sprintf("Worker %d done", id):
}
}Detailed patterns and worked examples
Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.
Best Practices
Do's
- Use context - For cancellation and deadlines
- Close channels - From sender side only
- Use errgroup - For concurrent operations with errors
- Buffer channels - When you know the count
- Prefer channels - Over mutexes when possible
Don'ts
- Don't leak goroutines - Always have exit path
- Don't close from receiver - Causes panic
- Don't use shared memory - Unless necessary
- Don't ignore context cancellation - Check ctx.Done()
- Don't use time.Sleep for sync - Use proper primitives
Skill liên quan
- ciso-review – /c-level-agents:ciso-review [plan] — Rà soát theo hướng cảnh giác rủi ro mọi kế hoạch có…
- grounded-vault – Dùng khi duy trì kho kiến thức Markdown bền vững do agent biên soạn từ các nguồn, khi…
- grpo-rlvr-training – Huấn luyện hành vi suy luận và tác vụ kiểm chứng được bằng GRPO và học tăng cường từ…
- cmo-review – /c-level-agents:cmo-review [plan] — Thẩm vấn theo hướng kể chuyện trước về định vị, ICP…
- code-reviewer – Dùng cho mọi code review: pull request, diff, commit, hoặc đoạn hàm, handler hay file…
- skill-installer – Cài đặt skill Codex vào $CODEX_HOME/skills từ danh sách tuyển chọn hoặc đường dẫn repo…
- iso-standards-readiness – Chuẩn bị và rà soát cấu trúc bằng chứng sẵn sàng cho các tiêu chuẩn ISO về hệ thống quản…
- code-to-prd – Dịch ngược bất kỳ codebase nào thành Tài liệu Yêu cầu Sản phẩm (PRD) đầy đủ. Phân tích…