まず、libuv libeio を削除しました それから。ただし、libeio のようなスレッド プールで非同期ファイル I/O を実行します。 あなたが言った通りです。
libuv libev も削除します . epoll など、さまざまなプラットフォームの非同期 I/O インターフェイスに基づいて、非同期ネットワーク I/O を実行します。 、 kqueue と IOCP 、スレッドプールなし。 uv のメイン スレッドで実行されるイベント ループがあります。 I/O イベントをポーリングして処理します。
libuv 内のスレッド プール 固定サイズのスレッドプールです (システムのような uinx では 4)。タスク キューの役割を果たし、要求が増加したときに無限にスレッドを生成することで、システム リソースの枯渇を回避します。
バージョン 0.6 ノードまで libev を使用 イベントループと libeio を実行する 非同期 I/O 用 (Unix バックエンドはこれら 2 つのライブラリに大きく依存しています)。しかし libuv libev の置き換えを開始しました と libeio バージョン 0.8 で。イベント プール内のすべての io およびイベントを実行、維持、および管理します。 libuv クロスプラットフォームの非同期 IO ライブラリの選択肢です。
はい、でも libev スレッドプールを使用しません。こちらをご覧ください
明確化:私が投稿した質問のリンクによると、 libeio I/O (ソケットを含む) を扱うすべての POSIX 関数をサポートします。しかし、ノード作成者は非同期ファイル I/O のみに使用することに決め、libev を使用します。 ネットワーク I/O 用。どこから聞いたのかわかりませんが、通常のファイルで epoll を使用できます。
libev イベント ループを使用するため、ここでは問題ありません。
libev と libeio Linux 環境用であり、すべてのカーネルにイベント ループ/非同期 IO を提供します (select、poll、epoll、kqueue をサポート)。更新に関する質問:
<オール>libuvについてよく知らない これがWindows 8での私の発見であり、Process Explorerで確認しました。ノード アプリケーション プロセスの 4 つのスレッド、1 つの DLL、1 つのファイル、および 1 つのセクション (合計 7 エントリ) を示しました。
ps -eLf ps -eLf | grep x のようなノード プロセス pid を探してください。 ここで、x はノード プロセスの pid です。