Sobes.tech
Junior — Middle

Hafif iş parçacığı kavramını ve bunların normal iş parçacıklarından farklarını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Hafif iş parçacıkları (Go'da goroutine'ler), kodun paralel yürütülmesi için bir soyutlamadır ve geleneksel sistem iş parçacıklarına göre daha hafif ve kaynak açısından daha etkilidir.

Farklar:

  • Kaynaklar: goroutine'ler çok daha az bellek kullanır (genellikle birkaç kilobayt), sistem iş parçacığı ise çok daha fazladır (genellikle megabaytlar).
  • Planlama: goroutine'ler, işletim sistemi yerine Go'nun planlayıcısı tarafından süreç içinde planlanır, bu da hızlı geçişlere olanak tanır.
  • Oluşturma: goroutine başlatmak çok hızlı ve ucuzdur, binlerce hatta milyonlarca aynı anda oluşturulabilir.

Goroutine oluşturma örneği:

func sayHello() {
    fmt.Println("Goroutine'den merhaba")
}

func main() {
    go sayHello() // fonksiyonu ayrı bir goroutine'de başlatır
    time.Sleep(time.Second) // goroutine'in tamamlanması için bekler
}

Bu şekilde, hafif iş parçacıkları, büyük ek maliyetler olmadan paralellikten verimli şekilde yararlanmayı sağlar.