Я читал эту информативную страницу на Зеленом Потоке (Википедия) и интересно: что другие системы программирования полагаются "на зеленые процессы" около Erlang?
Править: "Зеленый поток! = Зеленый процесс"
Обновленный: Никто не ответил на вопрос непосредственно и таким образом, я принял ответ, который предоставил мне больше информации относительно Зеленых Процессов в целом.
Что касается всей «зеленой ветки» как имени, см. комментарии к этому сообщению :
Если серьезно, я удивлен, что вы используете термин из лагерь Java вместо чего-то менее жаргонного, вроде «совместной работы с потоками в пользовательском пространстве»; Хороший парень Питер ван дер Линден объясняет происхождение этого термина:
Когда Java 1.0 впервые вышла на Solaris, в ней не использовалась собственная библиотека Solaris libthread.so для поддержки потоков. Вместо этого он использовал поддержку потоков среды выполнения, которая была написана на Java для более раннего проекта под кодовым названием «Green». Эта библиотека потоков стала известна как «зеленые потоки»
. Я бы хотел, чтобы вместо этого мы могли использовать терминологию из операционных систем, например, планирование потоков в пространстве пользователя или ядре. В конце концов, это различие на уровне операционной системы. Имя "
Java использовала их до версии 1.2 ... затем они поняли, что наличие более легкого потока, запланированного дважды, не так эффективно.
Насколько я понимаю, эти «зеленые процессы» на самом деле принципиально не отличаются от зеленых потоков. Отсутствие общего состояния является результатом языкового дизайна, а не каких-либо технологических или огромных концептуальных различий. Erlang просто:
Таким образом, у двух процессов нет возможности получить доступ к одной и той же памяти, даже если они могут иметь общую виртуальную память на уровне ОС (что, как я полагаю, упрощает реализацию Erlang на архитектурах, не имеющих потоков на уровне ОС).