2013-08-31 9 views

Odpowiedz

8

Go nie ma jeszcze harmonogramu zapobiegawczego, ale jeden to planned for 1.2. Więc nie, Go nie zmieni kontekstu tylko podczas obliczeń tylko z CPU, tylko podczas I/O (odczyt z pamięci jest także uważany za I/O, jeśli nie jest już w rejestrze). Możesz przeczytać o tym w Issue 543 - preemptive scheduling.

+0

Jeśli dobrze rozumiem, wywoływanie tego, co jest opisane w "Zapobiegawczym harmonogramie" tych linków, jest zbyt daleko idące. To nie jest tak naprawdę prewencyjne, tylko że plony są umieszczane w większej liczbie miejsc, niewidocznie dla programisty. Oczywiście, dzięki temu program jest bardziej "współbieżny", ale nadal współpracuje. Myślę, że niemożliwe jest wykonywanie wielozadaniowości zapobiegawczej bez użycia specjalnej maszyny wirtualnej (np. Erlang) lub bez bezpośredniego wsparcia systemu operacyjnego (wątki systemu operacyjnego). –

+0

Czy możesz zaktualizować swoją odpowiedź? Słyszałem, że Go był w stanie uprzedzać od czasu do czasu wywołania funkcji, ale nie wiem na pewno. –

Powiązane problemy