HaLVM и темы

Я не совсем понимаю, что, например, HaLVM или аналогичные технологии делают с точки зрения (ОС) потоков.

Я понимаю, что при компиляции кода с опцией -readed многопоточный RTS на Haskell будет использовать потоки ОС для перераспределения существующих потоков на Haskell и, таким образом, избегать блокирования поведения внешних вызовов. Теперь, когда вы используете HaLVM, вам, вероятно, не нужно совершать какие-либо иностранные звонки. Однако мне интересно, как все это сочетается, и сколько рабочих потоков выполняет HaLVM. Нет ли других ситуаций, в которых отсутствие рабочих потоков ОС может привести к блокировке или иным нежелательным действиям?

1 ответ

Решение

HaLVM использует однопоточную среду выполнения GHC.

Портирование HaLVM для использования многопоточной среды выполнения с поддержкой многоядерного Xen было бы интересным проектом.

Другие вопросы по тегам