Python tornado, 在Linux下, 是实现了Epoll模型, 还是会使用Linux的Epoll ?
PHPz
PHPz 2017-04-18 10:23:12
0
1
781

实际现象

  • 想弄清楚tornado的Epoll

预期现象

上下文环境

  • 产品版本: Tornado最新

  • 操作系统: Linux

  • Python 2.7.x

PHPz
PHPz

学习是最好的投资!

全員に返信(1)
Peter_Zhu

tornadoioloop モジュールをチェックアウトできます。中に説明書が入ってますtornadoioloop模块。里面有说明

...
class IOLoop(Configurable):
    """A level-triggered I/O loop.
    We use `epoll` (Linux) or `kqueue` (BSD and Mac OS X) if they
    are available, or else we fall back on select(). If you are
    implementing a system that needs to handle thousands of
    simultaneous connections, you should use a system that supports
    either `epoll` or `kqueue`.
...

Linux系统中用epoll,BSDMac OS Xkqueue,其他系统中用select

使用的是python标准库中的select模块。实际上select模块也只是对系统的select的调用,并没有自己实现。

想深入研究的话可以看源码


感谢 @依云 的补充。
python标准库中的select模块是对系统各种I/O リーリー

Linux システム、BSD、または Mac OS Xepoll を使用し、kqueue を使用します。 、他のシステムでは select を使用してください。 🎜 🎜python 標準ライブラリの select モジュールを使用します。実際、select モジュールはシステムの select を呼び出すだけであり、それ自体は実装しません。 🎜 🎜さらに詳しく学びたい場合は、ソースコードを見ることができます🎜 🎜 @evian さん、追加していただきありがとうございます。
python 標準ライブラリの select モジュールは、システム内のさまざまな I/O 再利用スキームをカプセル化したものです。 🎜 リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート