Sobes.tech
Junior — Middle

Məlumatların ötürülmə sistemində tamponlu kanal istifadə edərkən hansı şərtlərdə bloklama baş verir?

sobes.tech Süni İntellekt

AI-dan cavab

Go-da, tamponlu kanal iki əsas halda bloklanır:

  1. Kanalə yazarkən (göndərmə): əgər kanalın tamponu doludursa (yəni, kanalın element sayı onun tutumuna çatıbsa), yeni dəyər göndərməyə cəhd goroutine-i bloklayır, ta ki, kimsə kanaldan oxuyub yer boşaltsın.

  2. Kanaldan oxuyarkən: əgər kanal boşdursa (oxumaq üçün element yoxdursa), kanaldan oxumağa cəhd goroutine-i bloklayır, ta ki, kimsə yeni dəyər göndərsin.

Beləliklə, bloklama, dolu tampona məlumat göndərməyə və ya boş tampondan oxumağa cəhd edərkən baş verir.