Barcha goroutinlar odatda bir vaqtning o'zida va parallel ravishda ishga tushiriladimi?
sobes.tech AI
AIdan javob
Yo'q, barcha goroutine'lar odatda bir vaqtning o'zida va parallel ravishda ishga tushirilmaydi. Goroutine'lar Go planlashtiruvchisi tomonidan rejalashtiriladigan yengil oqimlardir.
Bir nechta goroutine'larni ishga tushirganda, ular ketma-ket yoki parallel ravishda bajarilishi mumkin, bu tizimdagi mavjud bo'lgan GOMAXPROCS (tizim oqimlari soni) va joriy yuklashga bog'liq.
Standart holatda, agar GOMAXPROCS 1 ga teng bo'lsa, goroutine'lar raqobatbardosh ravishda, lekin parallel ravishda emas — ya'ni, ular orasidagi o'tish planlashtiruvchi darajasida amalga oshadi, lekin faqat biri bir vaqtning o'zida bajariladi.
Haqiqiy parallelizmga erishish uchun, GOMAXPROCS ni oshirish kerak (odatda protsessor yadro soniga teng). Shunda, bir nechta goroutine'lar turli yadroda bir vaqtning o'zida bajarilishi mumkin.