非同期I/Oの用語整理
非同期I/OとノンブロッキングI/Oは厳密には違う意味。 非同期I/OはPosix.1のaio_関数群を指す。 でも具体的にどう違うのかはまだ理解していない。 シングルスレッド、シングルプロセスでも I/O処理中に別のこ…
非同期I/OとノンブロッキングI/Oは厳密には違う意味。 非同期I/OはPosix.1のaio_関数群を指す。 でも具体的にどう違うのかはまだ理解していない。 シングルスレッド、シングルプロセスでも I/O処理中に別のこ…
※この記事は調査中なので嘘が含まれている可能性があります。 select、poll、epollはどれもイベントハンドラ。 libeventはそれら意識せずに使うためのラッパー。 具体的に何をやっているかというと 1. …
◇超簡潔使用法 1.event_init で初期化 2.event_set でイベント設定 3.event_add で設定したイベントを追加 4.event_del で追加したイベントを削除 5.event_dispat…
イベントを削除する。 成功したら0、失敗したら-1が返る。
初期化に失敗したらNULLが返る(多分)。 内部的にはevent_base構造体の変数を領域確保してる。 この初期化は全体で一回やればいいのかな。 event_base型の変数をユーザが扱わなくていいのならそれで正解っぽ…
event.cに定義されている。 事前にevent_set()でセットしたイベントを、この関数でイベント一覧に登録する。 tvにNULL以外を指定すると、指定された時間が経過したタイミングで、コールバック関数がEV_TI…
event.cに定義されている。 event_add()されているイベントの中で、event_set()でセットしたファイルディスクリプタに対して、セットしたイベントフラグに該当するイベントが発生した際にコールバック関数…
event.cに定義されている。 第一引数:イベント構造体 第二引数:ファイルディスクリプタ(コールバック関数の第一引数に渡される) 第三引数:イベントフラグ(EV_READ、EV_PERSIST等)(どのイベントをコー…
クライアント1万台問題 selectの壁とepollのメリットについて学習すべし。 ※調査結果 まず、最近の流れとして、多クライアントに対していちいちスレッドを生成するというのはナンセンス。 スレッド生成処理が重いし、リ…
結局、この関数の挙動が謎。 libeventのソース見るしかないな。
最近のコメント