Хотя правильнее называть не контекст, а процессор, там и буква P на рисунках 
стоит от Processor.

On Dec 31, 2013, at 3:59 PM, Eugene Toropov <[email protected]> wrote:

> 
> 
>> 
>>> В   текущей  реализации  говоришь  интерпретатору,  сколько  потоков
>>> хочешь,  и он делает. Дальнейшая работа по параллелизации сопрограмм
>>> происходит практически прозрачно для программиста.
>> 
>> Так  я и спрашиваю, как именно оно переносит сопрограмму с одного ядра
>> на другой?
> 
> http://morsmachine.dk/go-scheduler - доступно и с картинками :)
> 
> Технически гоурутины стоят в очередях на контексты (которых не больше 
> GOMAXPROC), выполняемые в системных тредах (1 контекст - 1 тред). Если треду 
> надо локнуться - он отдает контекст с его очередью другому треду (взятому из 
> кэша или вновь созданному, если кэш пуст) - про это читать в "Who you gonna 
> (sys)call?" по ссылке выше
> 
> Евгений

-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить