İçeriğe geç
Başlangıç · Sonraki hedefe 100 XP
Son hareketler
Henüz bir öğrenme hareketi yok. İlk derse başlayın.

Yazılım Mühendisliği

Go concurrency: İş paylaşımı, iptal ve yaşam süresi

Goroutine eşzamanlı işi ifade eder; işin ne zaman biteceği ve iptal olduğunda nasıl duracağı ayrıca tasarlanmalıdır. Çok goroutine oluşturmak otomatik yüksek performans garantisi değildir.

Bu derste neler var?

SİBERSALDİRİ.COM · KONU ODAKLI DERS

Bu derste kazanacaklarınız

  • İş üretimi ile Sınırlı çalışma arasındaki ilişkiyi açıklamak.
  • “Concurrency ile parallelism aynı mıdır?” sorusuna gerekçeli yanıt vermek.
  • Örneği değiştirip beklenen ve gözlenen davranışı karşılaştırmak.

Çalışma mantığı ve güven sınırı

Paylaşılan değişkenleri korumak için uygun kanal veya kilit sözleşmesini seçin. Kanalı kimin kapatacağı açık olmalıdır. context iptali, zaman aşımı ve hata yayılımı iş yaşam sürecinin parçasıdır. Sınırsız üretim goroutine sızıntısına veya bellek baskısına dönüşebilir; worker sayısı ve kuyruk kapasitesiyle sınırlandırın.

Go concurrency: İş paylaşımı, iptal ve yaşam süresi akışı: İş üretimi → Sınırlı çalışma → Sonuç ve iptal
İş üretimi → Sınırlı çalışma → Sonuç ve iptal. Şema ilişkiyi gösterir; bütün uygulamanın yerine geçmez.

Açıklamalı örnek

Aşağıdaki parça kavramı görünür kılar. Komut veya kod içeren örnekleri üretim sisteminde değil, size ait ayrı deneme ortamında değerlendirin. Mimari şema ve politika örnekleri çalıştırılabilir program değildir.

package main
import "fmt"
func main(){
 result:=make(chan int,1)
 go func(){ result<-6*7 }()
 fmt.Println(<-result)
}

Beklenen sonuç ve yorumu

Ana iş sonuç gelene kadar bekler ve 42 yazılır.

Karşılaştırmalı durumlar

DurumBeklenen yaklaşımNeden?
İş tamamlandıSonucu tüketGoroutine ömrü kapanır
İptal geldiÇalışmayı durdurKaynaklar sızmamalı
Sınırsız üretimKapasite ve worker sınırıBellek büyümesi önlenir

Uygulama görevi

İşin iptal edilmesi gereken bir ağ çağrısı olduğunu düşünün; kapanma ve hata akışını çizin.

  1. İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
  2. Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
  3. Sonucu yukarıdaki karşılaştırma tablosuyla değerlendirin. Uymayan durumda hangi varsayımın yanlış olabileceğini açıklayın.

Sık yapılan hata ve düzeltme yönü

Paylaşılan map'e eşzamanlı yazmayı korumasız bırakmayın.

Kendinizi sınayın

Concurrency ile parallelism aynı mıdır?

Açıklamalı yanıt: Hayır. İşleri eşzamanlı düzenlemek ile aynı anda fiziksel olarak çalıştırmak farklı kavramlardır.

İlgili derslerle ilerleyin

Teknik başvuru

Bu dersin anlatımı ve örnekleri akademi için yeniden hazırlanmıştır. Aşağıdaki bağlantı, kullanılan teknoloji veya güvenlik yaklaşımının ayrıntılarını doğrulamak için teknik başvurudur.

Bir adım daha ilerlediniz.

Dersi bitirdiyseniz tamamlandı olarak işaretleyin. İlerlemeniz bu cihazda saklanır.

Akademi menüsü

Akademide ara

En az 2 karakter yazın.