ファイルのようなブロック デバイスのコンテキストでは。提供された I/O 操作のキュー内でio_submit()
のみ非同期のような Linux カーネル AIO 関数であるか、同じファイルに対する I/O 操作のキューを持つ複数のプロセスおよび/またはスレッド間で (また) 非同期です。
Doc によると: io_submit()システム コールは、AIO コンテキスト ctx_id で処理するために nr 個の I/O 要求ブロックをキューに入れます。iocbpp 引数は、コンテキスト ctx_id に送信される nr 個の AIO 制御ブロックの配列である必要があります。
アップデート:
例: 2 つのスレッドを生成した場合、両方とも同じファイルに対して 100 のキューに入れられた I/O 操作を持ち、両方ともio_submit()
約 1 秒で呼び出します。同時に; 200 の I/O 操作はすべて非同期になりますか、それともスレッド #1 の 100 の I/O 操作は互いに非同期であるだけで、スレッド #1 のすべての I/O 操作が完了するまでスレッド #2 をブロックしますか?