はじめにこの拡張モジュールは、非同期 POSIX I/O 機能を提供します。 Marc Lehmann による » libeio C ライブラリを利用します。
警告
注意すべき点は、個々のリクエストが単一のスレッド内で実行され、 キューに入れた一連のリクエストの実行順は基本的に不定であるということです。 たとえば、次のコード片は間違っています。 例1 間違ったリクエスト
例2 リクエストコールバックからのリクエストの呼び出し
例3 リクエストコールバックからのリクエストの呼び出し
バージョン 0.3.0 alpha 以降では、 libeio との通信で内部的に使う変数を eio_get_event_stream で取得できます。 この変数を使うと、他の拡張モジュールでサポートしている イベントループにバインドできます。 シンプルなイベントループを作って、eio と libevent を一緒に動かしたりできるのです。 例4 eio と libevent を組み合わせる例
|