.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2010 by Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH aio_init 3 "30 октября 2022 г." "Linux man\-pages 6.03" .SH ИМЯ aio_init \- инициализирует асинхронный ввод\-вывод .SH LIBRARY Real\-time library (\fIlibrt\fP, \fI\-lrt\fP) .SH СИНТАКСИС .nf \fB#define _GNU_SOURCE\fP /* см. feature_test_macros(7) */ \fB#include \fP .PP \fBvoid aio_init(const struct aioinit *\fP\fIinit\fP\fB);\fP .fi .SH ОПИСАНИЕ Имеющаяся только в GNU функция \fBaio_init\fP() позволяет вызывающему указать подстроечные подсказки реализации glibc POSIX AIO. Использовать данную функцию необязательно, но для эффективности её нужно вызвать перед вызовом какой\-либо функции программного интерфейса POSIX AIO. .PP Подстроечная информация передаётся в буфере, на который указывает параметр \fIinit\fP. Данный буфер представляет собой следующую структуру: .PP .in +4n .EX 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; }; .EE .in .PP В структуре \fIaioinit\fP используются следующие поля: .TP \fIaio_threads\fP В этом поле задаётся максимальное количество обрабатывающих (worker) нитей, которые могут использоваться в реализации. Если количество ожидающих операций ввода\-вывода превышает это значение, то лишние операции будут в очереди до тех пор, пока не освободится обрабатывающая нить. Если значение поля меньше 1, то используется значение 1. Значение по умолчанию равно 20. .TP \fIaio_num\fP .\" FIXME . But, if aio_num > 32, the behavior looks strange. See .\" http://sourceware.org/bugzilla/show_bug.cgi?id=12083 В этом поле задаётся максимальное количество одновременных запросов ввода\-вывода, которое вызывающий хочет видеть в очереди. Если значение поля меньше 32, то оно округляется до 32. Значение по умолчанию равно 64. .TP \fIaio_idle_time\fP В этом поле задаётся период времени в секундах, который обрабатывающая нить должна ждать следующего запроса перед своим уничтожением, отсчитывая от окончания выполнения предыдущего запроса. Значение по умолчанию равно 1. .SH ВЕРСИИ Функция \fBaio_init\fP() доступна в glibc начиная с версии 2.1. .SH СТАНДАРТЫ Эта функция является расширением GNU. .SH "СМ. ТАКЖЕ" \fBaio\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Dmitry Bolkhovskikh и Yuri Kozlov . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .