AIO_INIT - Linux手册页

时间:2019-08-20 17:59:51  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2020-08-13

名称

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
该字段指定实现可使用的最大工作线程数。如果未完成的I / O操作数超过此限制,则多余的操作将排队,直到辅助线程空闲为止。如果此字段的值小于1,则使用值1。预设值为20。
aio_num
此字段应指定调用者希望排队的最大同时I / O请求数。如果为此字段指定的值小于32,则将其四舍五入为32。默认值为64。
aio_idle_time
此字段以秒为单位指定工作线程在完成上一个请求后应等待其他请求再终止之前的时间(以秒为单位)。预设值是1。

版本

从glibc 2.1开始,可以使用aio_init()函数。

遵循规范

此函数是GNU扩展。

另外参见

一体机(7)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/