Title here
Summary here
Go dilində, channel-lar adətən bloklayan xüsusiyyətə malikdir, yəni bir goroutine bir channel-a mesaj göndərmək və ya almaq istədikdə həmin əməliyyat tamamlanana qədər gözləyir. Amma select
açar sözü ilə channel-ların bloklanmadan işləməsi təmin edilə bilər.
Bu nümunədə iki channel (messages
və signals
) yaradılır və onlardan bloklanmadan necə məlumat göndərmək və qəbul etmək göstərilir.
Bu nümunədə:
messages
channel-dan mesaj alınmazdan əvvəl no message received
mesajı göstərilir.hello
mesajı messages
channel-ına göndərilir və “sent message hello” yazısı ekrana çıxır.messages
channel-dan mesaj almağa çalışılsa da, yeni mesaj olmadığından “no message received” göstərilir.signals
channel-ı üçün sinyal göndərilməzdən əvvəl “no signal received” göstərilir, sinyal göndəriləndən sonra isə qəbul edildiyi göstərilir.Bloklamadan əməliyyatlar select
ilə kanal vasitəsilə sinxronlaşma və qarşılıqlı əlaqənin daha çevik formada həyata keçirilməsinə imkan yaradır.