Junior — Middle
Кайсы учурларда бир гурутина ишин токтотуп, башкасына башкарууну өткөрөт?
sobes.tech AI
AIден жооп
Go-да, gorutina төмөндөгү учурларда иштөө токтотулат жана башка gorutinaга башкаруу өткөрүлөт:
- Горутина ачык эле аны блок кылган функцияны чакырганда (мисалы, бош каналдан окуу).
runtime.Gosched()ачкыч сөзүн колдонгондо, ал voluntarily процессорду башка gorutinalarга өткөрүп берет.- Горутина өзүнүн функциясын аяктагандан кийин (функциядан кайтып келгенде), ал иштөө токтотулат.
Go планировщиги автоматтык түрдө gorutinalардын ортосунда которуп, атаандаштыкты камсыздайт. Мисалы, кирүү/чыгуу операцияларында же каналдан маалымат күтүп жатканда, учурдагы gorutina токтотулат жана башкага өткөрүлөт.