Go Concurrency Patterns

CSP felsefesi üzerine kurulu üretim seviyesi Go eşzamanlılığı, belleği paylaşarak değil, iletişerek paylaş.

Worker pool, fan-out/fan-in hatları, sınırlı eşzamanlılık, hata grupları ve düzgün kapanmayı hazır kalıplar olarak sunar; her biri context iptali ile bağlanmıştır, böylece goroutine'ler asla sızmaz ve yarış durumları yakalanır.

₺369 tek seferlik
Bir kit içine ekle →

Fiyatlara KDV (%20) dahildir. · Gerçek ajans işinden çıkarıldı · tek seferlik, kilit yok

  • Tür Skill
  • Kategori Geliştirme
  • Teslimat E-posta · anında
  • Lisans Tek seferlik
Çalışma önizlemesi
forgehouse, go-concurrency-patterns

Çalışmanın içinden · kara kutu yok

Satın almadan önce işin kendisini gör.

Eşzamanlı Go kodu kurarken skill'in işlettiği gerçek döngü. Kara kutu yok, yaptığı iş budur:

  1. Önce iletişim primitifini seçer: CSP varsayılanı gereği mutex yerine channel ('belleği paylaşma, mesajlaşarak paylaş'). Mutex yalnız basit sayaç veya okuma-ağırlıklı cache için serbesttir ve tercih gerekçesi yazılır.
  2. Worker pool veya fan-out/fan-in pipeline'ını kanonik imzayla kurar: func(ctx, <-chan T) <-chan U. Girdi kanalı kapanınca kapanma her aşamaya yayılır. Fan-in tarafında çıktı kanalı, sync.WaitGroup tüm üreticileri beklemeden asla kapatılmaz.
  3. Her channel select'ine ctx.Done() dalını koyar. Bu dal yoksa goroutine sızıntısı var demektir, skill bunu katı kural sayar; timeout için time.After, bloklamayan deneme için default kullanılır.
  4. Yük gelmeden eşzamanlılığı sınırlar: ham limit için semaphore.NewWeighted veya buffered struct{} kanalı, I/O-ağırlıklı toplu işler için errgroup.SetLimit(N). Çünkü errgroup limiti, hata yayılımını ve iptali tek API'de birleştirir.
  5. Graceful shutdown'ı bağlar: signal.Notify ile SIGINT/SIGTERM yakalanır, context cancel tüm worker'lara yayılır, her worker ctx.Done() dalında temizliğini yapar, temizlik takılırsa shutdown timeout zorla çıkış yapar.
  6. go test -race ve go build -race CI'da zorunlu kapı olarak koşulur; ardından mutex kullanımı gözden geçirilir: her yerde defer Unlock, okuma-ağırlıklı yolda RWMutex, yazma-ağırlıklı yapıda sharded map.
Kullanım senaryoları · taktığında neler oluyor

Tek güç kaynağı. 6 hat dışarı.

go-concurrency-patterns · çekirdek

çekirdek aktif · 6 hat

  1. Bir iş kanalı üzerinde worker pool kur

    ✓ bir iş kanalı üzerinde w…
  2. Fan-out/fan-in işleme hattı çalıştır

    ✓ fan-out/fan-in işleme ha…
  3. Semafor veya errgroup limiti ile eşzamanlılığı sınırla

    ✓ semafor veya errgroup li…
  4. Birden fazla URL'yi ilk-hata iptali ile eşzamanlı çek

    ✓ birden fazla url'yi ilk-…
  5. SIGINT/SIGTERM üzerine düzgün kapanma uygula

    ✓ sigint/sigterm üzerine d…
  6. -race dedektörü ile yarış durumlarını ayıkla ve önle

    ✓ -race dedektörü ile yarış
Kazanımlar · elinde kalanlar

Aldıkların sende kalır.

Zamanı ileri sar. Ne kaldığını izle.

Sonsuza dek

Sahip olmak tam olarak bu.

Kiralık yığın

yapay zekâ yazım aracı: abonelik

süresi doldu · erişim gitti

analiz paketi: abonelik

süresi doldu · erişim gitti

tasarım platformu: abonelik

süresi doldu · erişim gitti

(geriye bir şey kalmadı)

Senin ocağın

  1. Her kanalı ctx.Done() dinler hale getirerek goroutine sızıntılarını durdur

    lisans: kalıcı
  2. Ardışık çağrılar yerine paralel fan-out ile API gecikmesini düşür

    lisans: kalıcı
  3. Sınırlı worker sayılarıyla, thread başına modellerden çok daha az bellek kullan

    lisans: kalıcı
  4. Devam eden işi kaybetmeden ve kaynak sızdırmadan temiz kapan

    lisans: kalıcı

abonelikler biter · tapular bitmez

Ne içerir · eksiksiz manifest

Kutudaki her şey.

Bir parçayı eline al. Çalışırken izle.

Worker pool, fan-out/fan-in ve sınırlı eşzamanlılık semafor kalıpları

parça 01 / 06 · kutuda

6 parça · tek çalışan sistem · e-postayla anında teslim

Kimler için

Bu herkes için dövülmedi.

  • Araç kiralamayı sahip olmaya tercih ediyorsan, sana göre değil.
  • Yığınını senin yerine başkası yönetsin istiyorsan, sana göre değil.
  • Tahmin etmekten memnunsan, sana göre değil.
Hâlâ burada mısın? Güzel.

Eşzamanlı servisler, hatlar ve worker sistemleri kuran; düzgün context ve kapanma yönetimiyle sızıntısız, yarış-güvenli kalıplara ihtiyaç duyan Go mühendisleri için.

o zaman bu senin için dövüldü.

Hangi AI ile çalışır

Tasarımı gereği evrensel: her yapay zekada çalışır. Açık Agent Skills + MCP biçiminde gelir (Claude’da yerleşik); ChatGPT, Gemini, Cursor ve Copilot aynı dosyaları kendine uyarlar.

  • Claude Yerleşik biçim
  • ChatGPT Açık standartla uyarlanır
  • Gemini Açık standartla uyarlanır
  • Cursor Açık standartla uyarlanır
  • Copilot Açık standartla uyarlanır
Sorular · hâlâ havada

Aklındakini yakala.

hava temizlendi. seninle ocak arasında hiçbir şey kalmadı.
bir kıvılcım yakala: ocak cevaplar

  1. Küçük bir CLI aracı yazıyorum, bu desenler büyük servisler için değil mi?

    Desenler küçüğe de iner. Worker pool, errgroup limiti veya düzgün kapanma; üç dosyalık bir araçta da yüzlerce goroutine çalıştıran bir serviste de aynı şekilde işler. Context iptali her ölçekte sızıntıyı önler.

  2. Goroutine sızıntısını somut olarak nasıl engelliyor?

    Her kanal deseni ctx.Done() dinleyecek şekilde bağlanır; errgroup ilk hatada tüm grubu iptal eder, SetLimit ise eşzamanlılığa tavan koyar. Yarış durumları içinse test, derleme ve çalıştırma adımlarında -race dedektörü komutları pakettedir.

  3. Tek iş parçacıklı, CPU yoğun kodu da hızlandırır mı?

    Hayır. Bu desenler G/Ç bekleyen işleri paralelleştirir: ağ çağrıları, kanallar, işleme hatları. Tek çekirdekte algoritma optimizasyonu ve GC ayarı bu paketin ele almadığı ayrı problemlerdir.

  4. Nasıl teslim edilir?

    Satın alımdan hemen sonra e-posta ile iletilir, kuruluma hazır, anında indirilir; bekleme yok.

  5. Tek seferlik mi, abonelik mi?

    Tek seferlik alımdır; abonelik veya gizli ücret yoktur. Fiyata KDV (%20) dahildir.

  6. İade alabilir miyim?

    Dijital ürün olduğu için indirildikten sonra iade yapılmaz. Bu yüzden ne içerdiğini ve kime uygun olduğunu burada açıkça paylaşıyoruz.