Sobes.tech
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.