C ライブラリのバインディングとなるネイティブ ノード モジュールを C++ で作成しています。
このライブラリの一部のオブジェクトは、単一のスレッドでのみ使用する必要があります。uv_queue_work
つまり、私が使用する場合、それらが同じスレッドによってのみ使用されていることを確認できないことを意味します。なぜなら、私の知る限り、 libuv はスレッドプールを使用しており、どのスレッドかを伝える方法を見つけることができなかったからです。このような作業に使用します。
ここに状況に対するいくつかのアイデアがありますが、どちらが正しいアプローチかはわかりません。
- すべてのメソッドを同期させるだけです。残念ながら、これはノードの目的と概念を打ち負かします。
- カスタム スレッドを作成し、その上でコードを実行します。これは、libuv のスレッド プールの目的を無効にし、より多くの作業が必要になります。
- libuvに、スレッドプール内の同じスレッドで同じオブジェクトの操作を実行するように伝えます-ドキュメントでこれを行う方法が見つかりませんでした
この種の Node.js モジュールに対して推奨される一連のアクションは何ですか?