Junior — Middle
Da li je obavezno u Go-u da se automatski menja kontekst izvršavanja između gorutina?
sobes.tech АИ
Одговор од АИ
U Go, automatska promena konteksta između gorutina dešava se, ali ne u klasičnom smislu preemptivnog multitaskinga, kao u operativnim sistemima.
Gorutine su lake niti koje upravlja runtime Go-a. Planer Go-a menja izvršenje između gorutina kako bi efikasno koristio sistemske niti.
Karakteristike:
- Planer Go koristi kooperativni multitasking: gorutina mora da preda kontrolu, na primer, prilikom poziva blokirajućih operacija ili funkcija koje eksplicitno yield-aju.
- Od verzije Go 1.14, dodata je ograničena podrška za preemption, koja omogućava planer-u da prekinu gorutinu ako ona dugo ne preda kontrolu.
Na ovaj način, promena konteksta između gorutina dešava se automatski i transparentno za programera, ali sa nekim osobinama koje se razlikuju od klasičnih operativnih sistema.