Senior
Эгер GOMAXPROCS=2 жана эки чексиз цикл математикалык операциялар менен иштеп жатса, башка goroutine'лер ишке ашабы?
sobes.tech AI
AIден жооп
Eger GOMAXPROCS=2 bolsa, bu Go planlagıçısının eyni zamanda 2 OS-iş parçacığını gorutinaların icrası üçün istifadə edə biləcəyini göstərir.
Əgər iki sonsuz dövr intensiv riyazi əməliyyatlarla işləyirsə, onlar hər ikisi tam olaraq iki iş parçacığını tutacaq, çünki bloklayıcı çağırışlar və ya giriş-çıxış əməliyyatları etmirlər.
Nəticədə, digər gorutinalar CPU vaxtı ala bilməyəcək və onların icrası ciddi şəkildə gecikəcək və ya demək olar ki, dayanacaq.
Belə bir vəziyyəti həll etmək üçün, bu döngələrdə yükü azaltmaq, runtime.Gosched() çağıran və ya bloklayıcı əməliyyatlar edən nöqtələr əlavə etmək və ya GOMAXPROCS-u artırmaq lazımdır ki, planlayıcıya daha çox iş parçacığı verilsin.