Sobes.tech
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.