2014-09-26 4 views
1

Возможно ли создать несколько потоков в nodejs. Я не спрашиваю, используя Cluster или fork или exec. Фактически он создает дочерний процесс вместо потока. Мне нужна фактическая реализация отдельного потока в node.js.Многопоточность в узле.js

+0

Существует только один поток в node.js, вы можете использовать spawn для запуска большего экземпляра node.js, но child_process будет намного более эффективным. Что вы пытаетесь использовать для нескольких потоков? – DrakaSAN

+0

Что вы пытаетесь сделать? Вероятно, вам действительно не нужны потоки. – Jivings

+0

Но только в одном потоке мое приложение реагирует поздно, так как оно выполняет серию заданий параллельно. Поэтому я хочу выполнять важные задания в отдельном потоке, чтобы он быстро отвечал на эти задания. – Sanket

ответ

0

NodeJS в настоящее время не поддерживает несколько потоков. Там были разговоры (и даже работа над), обеспечивающие поддержку потоков, но это еще не произошло (пока?). В этом отношении, похоже, нет большого толчка.

Поиск «NodeJS multiple threads» найдет такие вещи, как JXcore, хотя утверждает, что совместимость с NodeJS на 100% (это вилка с «добавленными функциями»). YMMV.

+0

Хорошо спасибо, но есть ли способ, с помощью которого мы можем применить приоритет к заданиям в очереди в цикле событий nodejs. – Sanket

+2

@Sanket: Это был бы совершенно отдельный вопрос. Я бы опубликовал его как один. –

0

As T.J. Помните, вы можете использовать JXcore. Это проект с открытым исходным кодом.

Самый простой способ запустить приложение многопоточных будет:

console.log("Hello thread", process.threadId); 

и запустить его таким образом:

$ jx mt:3 hello.js 

Он работает 3 нитей/экземпляры внутри одного процесса.

Есть также другие способы использования Jxcore, чтобы использовать tasks в потоках.

Смежные вопросы