Вы говорите о двух разных концепциях в вашем вопросе: процессы Erlang, выполняющие код C / C ++ и узлы C.
Выполнение кода C или C ++ изнутри Erlang вообще не запланировано.Фактически, он заблокирует планировщик Erlang для текущего ядра ЦП, поэтому длительное время работы в C-land, скорее всего, испортит ваше (Erlang) планирование.
Например, на четырехъядерном процессоре Erlangпо умолчанию создаст 4 потока планировщика, каждый из которых будет занимать одно ядро.Любой процесс, выполняющий код C, будет блокировать планировщик, которому он назначен, до тех пор, пока этот код не завершит выполнение.
Работая с узлами C, вы полностью одиноки.Узел Erlang вообще не знает о планировании узла C, он заботится только о своем собственном планировании.Конечно, вы можете создать свое собственное расписание, например, выделить одно ядро для узла C и три для узла Erlang или что-то подобное.