Junior — Middle
Hansı hallarda bir goroutine icra etməyi dayandırır və idarəetməni başqa birinə keçirir?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da, goroutine aşağıdakı hallarda icra etməyi dayandırır və idarəetməni başqa bir goroutine-ə keçirir:
- Goroutine açıq şəkildə onu bloklayan funksiyanı çağırdıqda (məsələn, boş kanaldan oxuma).
runtime.Gosched()açar sözündən istifadə etdikdə, bu könüllü olaraq prosessoru digər goroutine-lərə verir.- Goroutine funksiyasını tamamladıqda (funksiyadan geri dönəndə), o, icra etməyi dayandırır.
Go planlayıcısı avtomatik olaraq goroutine-lər arasında keçid edir, çoxluq vəzifəsini təmin edir. Məsələn, giriş/çıxış əməliyyatlarında və ya kanaldan məlumat gözləyərkən, cari goroutine dayandırılır və idarəetmə başqa birinə keçir.