AIO_INIT

Section: Linux Programmer's Manual (3)
Updated: 2020-08-13
Index JM Home Page
 

名前

aio_init - 非同期 I/O の初期化  

書式

#define _GNU_SOURCE         /* See feature_test_macros(7) */
#include <aio.h>

void aio_init(const struct aioinit *init);

-lrt でリンクする。  

説明

GNU 固有の aio_init() 関数を使うと、呼び出し側が glibc の POSIX AIO 実装に 対して調整 (チューニング) のヒントを与えることができる。この関数は使用しなく てもよいが、この関数が効果を持つには、POSIX AIO API の他の関数を利用する前に 呼び出さなければならない。

チューニングの情報は、引数 init が指すバッファーで与える。 このバッファーは以下の形式の構造体である。

struct aioinit {
    int aio_threads;    /* Maximum number of threads */
    int aio_num;        /* Number of expected simultaneous
                           requests */
    int aio_locks;      /* Not used */
    int aio_usedba;     /* Not used */
    int aio_debug;      /* Not used */
    int aio_numusers;   /* Not used */
    int aio_idle_time;  /* Number of seconds before idle thread
                           terminates (since glibc 2.2) */
    int aio_reserved; };

aioinit 構造体のフィールドのうち以下が使用される。

aio_threads
このフィールドは、AIO の実装が使用できるワーカースレッド数の最大値を指定する。 完了していない I/O 操作の数がこの上限を超えた場合、超過した操作は 空いたワーカースレッドができるまでキューに入る。 このフィールドに 1 未満の値を指定した場合には、値 1 が使用される。 デフォルト値は 20 である。
aio_num
このフィールドは、呼び出し側がキューに入れる予定の 同時 I/O リクエスト数の最大値を指定する。 このフィールドに 32 未満の値が指定された場合、値は 32 に切り上げられる。 デフォルト値は 64 である。
aio_idle_time
このフィールドは、あるワーカースレッドが、前のリクエストの処理を完了してから、 次のリクエストをどのくらい時間待つかを秒単位で指定する。 指定した時間を経過しても次のリクエストがなければ、 そのワーカースレッドは終了される。デフォルト値は 1 秒である。
 

バージョン

The aio_init() 関数は glibc 2.1 以降で利用できる。  

準拠

この関数は GNU による拡張である。  

関連項目

aio(7)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

init   used   ワーカー   リクエスト   threads   idle   スレッド   デフォルト値   struct   aioinit   実装   チューニング   バッファー   構造体   Number   time   最大値   完了   操作   キュー   未満   時間   非同期   初期化   define

Linux マニュアル 一覧

関連するコマンド・関数

aio_error.3   pthread_kill_other_threads_np.3   nginx.8   aio_cancel.3   aio_read.3   aio_write.3
 

Index

名前
書式
説明
バージョン
準拠
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:36 GMT, October 11, 2026