Оё ҳамаи гурутинҳо бояд ба таври пешфарз як вақт ва дар параллел оғоз шаванд?
sobes.tech AI
Ҷавоб аз AI
Не, ҳамаи goroutine-ҳо маҷбур нест, ки дар як вақт ва параллелӣ оғоз шаванд ба таври пешфарзӣ. Goroutine-ҳо нӯги сабук ҳастанд, ки аз ҷониби планировчии Go нақша гирифта мешаванд.
Вақте ки шумо чанд goroutine оғоз мекунед, онҳо метавонанд пайдарпай ё параллелӣ иҷро шаванд, вобаста ба шумораи мавҷудбудаи сӯрохиҳои системавӣ (GOMAXPROCS) ва боркунии ҳозира.
Ба таври пешфарз, агар GOMAXPROCS баробар ба 1 бошад, goroutine-ҳо рақобатӣ иҷро мешаванд, аммо на параллелӣ — яъне, гузариш байни онҳо дар сатҳи планировчик сурат мегирад, аммо танҳо яке дар як вақт иҷро мешавад.
Барои ба даст овардани параллелизм воқеӣ, бояд GOMAXPROCS-ро зиёд кунед (одатан баробар ба шумораи ядроҳои процессор). Пас, чанд goroutine метавонанд ҳамзамон дар ядроҳои гуногун иҷро шаванд.