Piszę dodatek GUI dla Node.js (wxWidgets) i chcę uruchomić pętlę GUI w osobnym wątku, ponieważ nie sądzę, że byłoby dobrze scalić to z głównym wątkiem i pętlą zdarzeń Node.Node.js C++ Addon: Threading
Jednak nie jestem pewien, jak utworzyć nowy wątek. Mam to uruchomione z uv_queue_work()
. Ale nie stworzy to wyłącznego wątku dla GUI, ale użyje puli wątków Node. To może być zły pomysł, ponieważ pracownik pozostanie w trakcie całego czasu pracy. (Nie jestem tego pewien)
Mogę również użyć wxWidgets 'wxThread
, działa również. I znalazłem nową funkcję uv_thread_create
w libuv git master. Nie mam pojęcia, jak tego użyć, ponieważ nie ma opisu, a poza tym nie jest jeszcze dostępny w stabilnej wersji Node.js.
Moje pytanie: Jaki jest "standardowy" sposób tworzenia wielowątkowego dodatku Node.js, jeśli taki jest? Przyjrzałem się innym projektom, ale znalazłem tylko krótkie wątki robocze przy użyciu libuv.
Nie znam C++, ale zdaję sobie sprawę, że projekt 'węzeł-włókna' tworzy wątki, może warto byłoby tam zajrzeć (na wypadek gdybyś go przegapił): https: // github.com/laverdet/node-fibers/blob/master/src/fibers.cc – alessioalex
Możesz również rzucić okiem na https://github.com/xk/node-threads-a-gogo/ i zobaczyć, w jaki sposób zostały zaimplementowane to. –