aio_init(3) - wariua/manpages-ko GitHub Wiki
aio_init - λΉλκΈ° I/O μ΄κΈ°ν
#define _GNU_SOURCE /* 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; /* μ€λ λ μ΅λ κ°μ */
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
- μ΄ νλλ ꡬνμμ μ¬μ©ν μ μλ μμ μ€λ λ μ΅λ κ°μλ₯Ό μ§μ νλ€. λ―Έμ²λ¦¬ I/O λμμ μκ° μ΄ μ νμ μ΄κ³Όνλ©΄ μμ μ€λ λμ μ¬μ κ° μκΈΈ λκΉμ§ μ΄κ³Ό μμ λ€μ νμ λ£μ΄ λκ² λλ€. μ΄ νλμ 1λ³΄λ€ μμ κ°μ μ§μ νλ©΄ 1 κ°μ μ΄λ€. κΈ°λ³Έκ°μ 20μ΄λ€.
aio_num
- μ΄ νλλ νΈμΆμκ° νμ λμμ λ£λ I/O μμ² μ΅λ κ°μ μμμΉλ₯Ό μ§μ νλ€. μ΄ νλμ 32λ³΄λ€ μμ κ°μ μ§μ νλ©΄ 32λ‘ μ¬λ¦°λ€. κΈ°λ³Έκ°μ 64μ΄λ€.
aio_idle_time
- μ΄ νλλ μμ μ€λ λκ° μ΄μ μμ²μ μλ£νκ³ μ μΆκ° μμ²μ λͺ μ΄λ κΈ°λ€λ¦° νμ μ’ λ£ν μ§ μ§μ νλ€. κΈ°λ³Έκ°μ 1μ΄λ€.
glibc 2.1λΆν° aio_init()
ν¨μκ° μ¬μ© κ°λ₯νλ€.
μ΄ ν¨μλ GNU νμ₯μ΄λ€.
2017-09-15