Senior
Kur patenka gorutinos, kai jos sukuriamos — į vietinę ar į globalią planuotojo eilę?
sobes.tech AI
Atsakymas iš AI
Kuriant gorutinas Go, ji patenka į vietinį vykdymo eilę (local run queue), kuri priklauso konkrečiam M (mašinai, sisteminiam srautui).
Go vykdymo laikas naudoja M:N modelį, kur M yra sisteminiai srautai, o G – gorutinos. Kiekvienas M turi savo vietinę gorutinos eilę vykdymui. Jei vietinė eilė perpildyta arba tuščia, planuotojas gali subalansuoti gorutinas tarp vietinės ir globalios eilės.
Taigi, nauja gorutina pirmiausia patenka į planuotojo vietinę eilę, kas leidžia efektyviai naudoti procesoriaus talpyklą ir sumažinti konteksto keitimo išlaidas.