選択してエポーリングする

WBOY
WBOYオリジナル
2016-07-29 08:55:323748ブラウズ

Select と epoll は両方ともマルチチャネル I/O メカニズムのソリューションです。Select は POSIX 標準にありますが、epoll は Linux に固有のものです。
epoll の最大の利点は、データ構造が配列データ構造に似ているのに対して、FD の数が増加しても効率が低下しないことです。epoll はキューを直接確認できます。空です。
nginx は epoll を使用して I/O 多重化を実現し、高い同時実行性をサポートします。現在、nginx は高い同時実行性のシナリオでますます普及しています。
select の欠点の 1 つは、単一プロセスが監視できるファイル記述子の数に最大制限があることです
エポール:
(1) 監視対象の fd 数が増えても IO 効率が低下しません。 Epoll は select や Paul のポーリング方式とは異なり、各 fd で定義されたコールバック関数によって実装されます。準備ができた fd のみがコールバック関数を実行します
(2) サポート レベル トリガーとエッジ トリガー (どのファイル記述子が準備できたかをプロセスに通知するだけです。一度だけ通知されます。アクションを実行しない場合、再度通知されません。この方法はエッジ トリガーと呼ばれます) 2理論的にはエッジ トリガーのパフォーマンスが高くなりますが、コードの実装は非常に複雑です。
(3) 優れた Readiness イベント通知メカニズムを備えています
選択:
(1) 1 つのプロセスが監視できる FDS の数は制限されており、32 ビット マシンでは、管理できる FDS の最大数は 1024 です。 (2) ソケットはリニアにスキャンされ、ソケット ファイル記述子の数が増加すると、多くの時間が無駄になります。

')​​.addClass('事前番号付け').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); }); 上記では、関連する内容も含めて select と epoll を紹介していますが、PHP チュートリアルに興味のある友人にとって役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。