2015-09-24 2 views
1

Какова архитектура, лежащая в основе Golang Go?Какова архитектура, лежащая в основе Goal Goal?

Я считаю, что Go не просто разветвляет новый поток для каждой процедуры.

+6

http://programmers.stackexchange.com/questions/222642/are-go-langs-goroutine-pools-just-green-threads, http: //stackoverflow.com/questions/18058164/is-golang-goroutine -a-coroutine - более интуитивное чтение, поиск «зеленых потоков», поскольку термин обычно подходит в разговоре – user2864740

+0

Без лишнего тщательного изучения спецификации: я думаю, что это «деталь» реализации. – Volker

ответ

3

В прошлом были реализации Go, которые фактически создали новую нить для каждого горутина.

В основной реализации Go процедура Go является в основном просто стеком (как правило, небольшим) с некоторым дополнительным контекстом (в 1.5, см. type g во время выполнения/runtime2.go). Переход от goroutine к другому означает изменение указателя стека и локальной переменной потока, указывающей на текущий запущенный goroutine.

Смежные вопросы