Sobes.tech
Junior — Middle

Оё ҳамаи гурутинҳо бояд ба таври пешфарз як вақт ва дар параллел оғоз шаванд?

sobes.tech AI

Ҷавоб аз AI

Не, ҳамаи goroutine-ҳо маҷбур нест, ки дар як вақт ва параллелӣ оғоз шаванд ба таври пешфарзӣ. Goroutine-ҳо нӯги сабук ҳастанд, ки аз ҷониби планировчии Go нақша гирифта мешаванд.

Вақте ки шумо чанд goroutine оғоз мекунед, онҳо метавонанд пайдарпай ё параллелӣ иҷро шаванд, вобаста ба шумораи мавҷудбудаи сӯрохиҳои системавӣ (GOMAXPROCS) ва боркунии ҳозира.

Ба таври пешфарз, агар GOMAXPROCS баробар ба 1 бошад, goroutine-ҳо рақобатӣ иҷро мешаванд, аммо на параллелӣ — яъне, гузариш байни онҳо дар сатҳи планировчик сурат мегирад, аммо танҳо яке дар як вақт иҷро мешавад.

Барои ба даст овардани параллелизм воқеӣ, бояд GOMAXPROCS-ро зиёд кунед (одатан баробар ба шумораи ядроҳои процессор). Пас, чанд goroutine метавонанд ҳамзамон дар ядроҳои гуногун иҷро шаванд.