Я пишу GUI-аддон для Node.js (wxWidgets), и я хочу запустить цикл GUI в собственном потоке, поскольку я не думаю, что было бы неплохо объединить это с основным потоком Node и циклом событий.Node.js C++ Addon: Threading
Однако я не уверен, как создать новую тему. Я получил его с uv_queue_work()
. Но он не будет создавать эксклюзивный поток для графического интерфейса, но использовать пул потоков Node. И это может быть плохой идеей, так как рабочий останется в течение всего времени выполнения. (Не уверен об этом)
Я также могу использовать wxWidgets 'wxThread
, работает тоже. И я нашел новую функцию uv_thread_create
в libuv git master. Не знаю, как использовать это, поскольку описания нет, и, кроме того, он еще не доступен в стабильной сборке Node.js.
Мой вопрос: что такое «стандартный» способ создания многопоточного Node.js Addon, если таковой имеется? Я посмотрел на другие проекты, но мог найти только короткие рабочие потоки, используя libuv.
Я не знаю, C++, но я знаю, что проект 'узел-fibers' создает потоки, возможно, было бы полезно посмотреть там (в случае, если вы пропустили его): https: // github.com/laverdet/node-fibers/blob/master/src/fibers.cc – alessioalex
Вы также можете посмотреть https://github.com/xk/node-threads-a-gogo/ и посмотреть, как они реализованы Это. –