pthread_attr_setscope(3) - wariua/manpages-ko GitHub Wiki
pthread_attr_setscope, pthread_attr_getscope - μ€λ λ μμ± κ°μ²΄μ κ²½ν© λ²μ μμ± μ€μ νκΈ°/μ»κΈ°
#include <pthread.h>
int pthread_attr_setscope(pthread_attr_t *attr, int scope);
int pthread_attr_getscope(const pthread_attr_t *attr, int *scope);
-pthread
λ‘ μ»΄νμΌ λ° λ§ν¬.
pthread_attr_setscope()
ν¨μλ attr
μ΄ κ°λ¦¬ν€λ μ€λ λ μμ± κ°μ²΄μ κ²½ν© λ²μ μμ±μ scope
μ μ§μ ν κ°μΌλ‘ μ€μ νλ€. κ²½ν© λ²μ μμ±μ μ€λ λκ° CPU κ°μ μμμ λκ³ κ²½μνλ μ€λ λλ€μ μ§ν©μ κ·μ νλ€. POSIX.1μμ scope
μ κ°λ₯ν κ°μ λ κ°μ§ λͺ
μΈνλ€.
PTHREAD_SCOPE_SYSTEM
-
μ€λ λκ° κ°μ μ€μΌμ€λ§ λλ©μΈ(ν κ° μ΄μ νλ‘μΈμλ€μ κ·Έλ£Ή)μ μλ μμ€ν
μ λͺ¨λ νλ‘μΈμ€μ λ€λ₯Έ λͺ¨λ μ€λ λλ€κ³Ό μμμ λκ³ κ²½μνλ€.
PTHREAD_SCOPE_SYSTEM
μ€λ λλ€μ κ°μμ μ€μΌμ€λ§ μ μ± κ³Ό μ°μ μμμ λ°λΌ μλ‘μ λν΄μ μ€μΌμ€ λλ€. PTHREAD_SCOPE_PROCESS
-
μ€λ λκ° λ§μ°¬κ°μ§λ‘ κ²½ν© λ²μ
PTHREAD_SCOPE_PROCESS
λ‘ μμ±ν λμΌ νλ‘μΈμ€μ λ€λ₯Έ λͺ¨λ μ€λ λλ€κ³Ό μμμ λκ³ κ²½μνλ€.PTHREAD_SCOPE_PROCESS
μ€λ λλ€μ κ°μμ μ€μΌμ€λ§ μ μ± κ³Ό μ°μ μμμ λ°λΌ νλ‘μΈμ€μ λ€λ₯Έ μ€λ λλ€μ λν΄μ μ€μΌμ€ λλ€. POSIX.1μμλ μ΄ μ€λ λλ€μ΄ μμ€ν μ λ€λ₯Έ νλ‘μΈμ€μ μ€λ λλ€μ΄λ κ°μ νλ‘μΈμ€μ μμ§λ§ κ²½ν© λ²μPTHREAD_SCOPE_SYSTEM
μΌλ‘ μμ±ν μ€λ λλ€κ³Ό μ΄λ»κ² κ²½μνλμ§λ₯Ό λͺ μΈ μ λ κ²μΌλ‘ λ¨κ²¨ λλ€.
POSIX.1μμλ ꡬνμ²΄κ° μ΄ κ²½ν© λ²μλ€ μ€ μ΅μ ν κ°μ§λ₯Ό μ§μνκΈ°λ₯Ό μꡬνλ€. 리λ
μ€λ PTHREAD_SCOPE_SYSTEM
μ μ§μνλ©° PTHREAD_SCOPE_PROCESS
λ μ§μνμ§ μλλ€.
μ¬λ¬ κ²½ν© λ²μλ₯Ό μ§μνλ μμ€ν
μμ pthread_attr_setscope()
λ‘ μ€μ ν λ§€κ°λ³μκ° pthread_create(3) νΈμΆ λ ν¨κ³Όκ° μμΌλ €λ©΄ νΈμΆμκ° pthread_attr_setinheritsched(3)μ μ΄μ©ν΄ μμ± κ°μ²΄ attr
μ μ€μΌμ€λ¬ μμ μμ±μ PTHREAD_EXPLICIT_SCHED
λ‘ μ€μ ν΄μΌ νλ€.
pthread_attr_getscope()
ν¨μλ attr
μ΄ κ°λ¦¬ν€λ μ€λ λ μμ± κ°μ²΄μ κ²½ν© λ²μ μμ±μ scope
κ° κ°λ¦¬ν€λ λ²νΌλ‘ λ°ννλ€.
μ±κ³΅ μ μ΄ ν¨μλ€μ 0μ λ°ννλ€. μ€λ₯ μ 0 μλ μ€λ₯ λ²νΈλ₯Ό λ°ννλ€.
pthread_attr_setscope()
κ° λ€μ μ€λ₯λ‘ μ€ν¨ν μ μλ€.
EINVAL
-
scope
μ μ ν¨νμ§ μμ κ°μ μ§μ νλ€. ENOTSUP
-
scope
μ 리λ μ€μμ μ§μνμ§ μλPTHREAD_SCOPE_PROCESS
κ°μ μ§μ νλ€.
μ΄ μ μμ μ¬μ©νλ μ©μ΄λ€μ λν μ€λͺ μ attributes(7)λ₯Ό 보λΌ.
μΈν°νμ΄μ€ | μμ± | κ° |
---|---|---|
pthread_attr_setscope() ,pthread_attr_getscope()
|
μ€λ λ μμ μ± | MT-Safe |
POSIX.1-2001, POSIX.1-2008.
κ²½ν© λ²μ PTHREAD_SCOPE_SYSTEM
μ λ³΄ν΅ μ¬μ©μ κ³΅κ° μ€λ λκ° ν κ°μ 컀λ μ€μΌμ€λ§ κ°μ²΄μ μ§μ κ²°ν©λμ΄ μμμ λνλΈλ€. 리λ
μ€κ° κ·Έλ° κ²½μ°μΈλ°, ꡬμμ΄ λ LinuxThreads ꡬνκ³Ό μ΅μ NPTL ꡬν λͺ¨λκ° 1:1 μ€λ λ© κ΅¬νμ΄λ€.
POSIX.1μμλ κΈ°λ³Έ κ²½ν© λ²μλ₯Ό ꡬνμμ μ μνλ κ²μΌλ‘ λͺ μΈνλ€.
pthread_attr_init(3), pthread_attr_setaffinity_np(3), pthread_attr_setinheritsched(3), pthread_attr_setschedparam(3), pthread_attr_setschedpolicy(3), pthread_create(3), pthreads(7)
2017-09-15