table of contents
- bookworm 4.18.1-1
 - bookworm-backports 4.27.0-1~bpo12+1
 - testing 4.27.0-1
 - unstable 4.27.0-1
 
| aio_init(3) | Library Functions Manual | aio_init(3) | 
НАИМЕНОВАНИЕ¶
aio_init - инициализирует асинхронный ввод-вывод
БИБЛИОТЕКА¶
Библиотека реального времени (librt, -lrt)
ОБЗОР¶
#define _GNU_SOURCE /* см. feature_test_macros(7) */ #include <aio.h>
void aio_init(const struct aioinit *init);
ОПИСАНИЕ¶
Имеющаяся только в GNU функция aio_init() позволяет вызывающему указать подстроечные подсказки реализации glibc POSIX AIO. Использовать данную функцию необязательно, но для эффективности её нужно вызвать перед вызовом какой-либо функции программного интерфейса POSIX AIO.
Подстроечная информация передаётся в буфере, на который указывает параметр init. Данный буфер представляет собой следующую структуру:
  
struct aioinit {
    int aio_threads;    /* максимальное количество нитей */
    int aio_num;        /* количество ожидаемых одновременных
                           запросов */
    int aio_locks;      /* не используется */
    int aio_usedba;     /* не используется */
    int aio_debug;      /* не используется */
    int aio_numusers;   /* не используется */
    int aio_idle_time;  /* количество секунд перед завершением
                           незанятой нити (начиная с glibc 2.2) */
    int aio_reserved;
};
В структуре aioinit используются следующие поля:
- aio_threads
 - В этом поле задаётся максимальное количество обрабатывающих (worker) нитей, которые могут использоваться в реализации. Если количество ожидающих операций ввода-вывода превышает это значение, то лишние операции будут в очереди до тех пор, пока не освободится обрабатывающая нить. Если значение поля меньше 1, то используется значение 1. Значение по умолчанию равно 20.
 - aio_num
 - В этом поле задаётся максимальное количество одновременных запросов ввода-вывода, которое вызывающий хочет видеть в очереди. Если значение поля меньше 32, то оно округляется до 32. Значение по умолчанию равно 64.
 - aio_idle_time
 - В этом поле задаётся период времени в секундах, который обрабатывающая нить должна ждать следующего запроса перед своим уничтожением, отсчитывая от окончания выполнения предыдущего запроса. Значение по умолчанию равно 1.
 
ВЕРСИИ¶
Функция aio_init() доступна в glibc начиная с версии 2.1.
СТАНДАРТЫ¶
Эта функция является расширением GNU.
СМОТРИТЕ ТАКЖЕ¶
ПЕРЕВОД¶
Русский перевод этой страницы руководства разработал(и) Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru> и Kirill Rekhov <krekhov.dev@gmail.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
| 30 октября 2022 г. | Справочные страницы Linux 6.03 |