Как однопоточный движок, такой как noflo, реализует потоковое программирование?
Пол Моррисон говорит здесь
основная концепция FBP состоит в том, что многокомпонентные процессы работают асинхронно, обмениваясь данными с помощью потоков данных, проходящих через так называемые ограниченные буферы.
Итак, как однопоточные реализации, такие как noflojs, построенные на node.js, имитируют несколько одновременных асинхронных процессов? И можно ли использовать этот же метод в других однопоточных языках?
1 ответ
Не совсем уверен, какова сфера вопроса.
Но я могу сказать вам, что Node.js основан на шаблоне проектирования реактора.
Можно эмулировать этот шаблон в любой однопоточной реализации языка, предполагая адекватную модель событий. Но это означает, что любой длительный процесс должен быть делегирован, отправить событие обратно, когда он будет готов... с реактором, просто посредником обмена.