node.js と統合する C++ 拡張機能を実装しようとしています。この拡張機能は、いくつかのブロッキング呼び出しを内部的に呼び出すため、node.js ワールドへのノンブロッキング インターフェイスを提供する必要があります。
https://nodejs.org/api/addons.htmlで指定されているように、ノンブロッキング コールバックを実装するには 2 つの方法があります。
a) JavaScript 関数への単純なコールバックを使用する。したがって、私の拡張機能は、スレッドを生成してすぐに戻り、そのスレッドにブロッキング コードを呼び出させ、戻り時に JavaScript コールバックを呼び出す必要があります。これは比較的簡単に実装できるようです。
b)libuvライブラリを使用して、私が正しく理解していれば、イベントをnode.jsイベントループに投稿します。libuv のドキュメントを詳しく読んだことはありませんが、これを実装するのは非常に複雑に思えます。
もちろん、私の好みはa)ですが、その意味がわかりません。コールバックが別のスレッドから呼び出され、非ブロッキング IO への node.js 標準アプローチを回避する場合、問題はありますか? または、コードのスレッド化とそのブロッキング呼び出しを適切に処理するために libuv を使用する必要がありますか?
ご助力ありがとうございます。