Middle+
რა პირობებში გაკითხვა არხიდან სამუდამოდ იკეტება? რა მოხდება, თუ ნული-არხში დავწერთ? დახურულ არხში დაწერა რა მოხდება?
sobes.tech AI
პასუხი AI-სგან
-
არხიდან კითხვა ყოველთვის ბლოკდება, თუ არხი ცარიელია და არავინ აპირებს მასში დაწერას (მაგალითად, ყველა გამგზავნი დახურულია ან არ არსებობს).
-
ნილ-არხში დაწერა (არხი, რომელიც ტოლია ნილს) ყოველთვის ბლოკდება სამუდამოდ, რადგან ნილ-არხი არ არის ინიციალიზებული და მონაცემებს ვერ მიიღებს.
-
დახურულ არხზე დაწერა იწვევს პანიკას (panic) Go-ში, რადგან ეს აკრძალულია და ითვლება შესრულების დროს შეცდომად.
მაგალითი:
var ch chan int // ნილ-არხი
// <-ch // კითხვა ნილ-არხიდან სამუდამოდ ბლოკდება
// ch <- 1 // დაწერა ნილ-არხში სამუდამოდ ბლოკდება
ch = make(chan int)
close(ch)
// ch <- 2 // panic: დახურული არხზე გაგზავნა