pthread_attr_setscope(3) - wariua/manpages-ko GitHub Wiki

NAME

pthread_attr_setscope, pthread_attr_getscope - μŠ€λ ˆλ“œ 속성 객체의 κ²½ν•© λ²”μœ„ 속성 μ„€μ •ν•˜κΈ°/μ–»κΈ°

SYNOPSIS

#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둜 컴파일 및 링크.

DESCRIPTION

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κ°€ κ°€λ¦¬ν‚€λŠ” λ²„νΌλ‘œ λ°˜ν™˜ν•œλ‹€.

RETURN VALUE

성곡 μ‹œ 이 ν•¨μˆ˜λ“€μ€ 0을 λ°˜ν™˜ν•œλ‹€. 였λ₯˜ μ‹œ 0 μ•„λ‹Œ 였λ₯˜ 번호λ₯Ό λ°˜ν™˜ν•œλ‹€.

ERRORS

pthread_attr_setscope()κ°€ λ‹€μŒ 였λ₯˜λ‘œ μ‹€νŒ¨ν•  수 μžˆλ‹€.

EINVAL
scope에 μœ νš¨ν•˜μ§€ μ•Šμ€ 값을 μ§€μ •ν–ˆλ‹€.
ENOTSUP
scope에 λ¦¬λˆ…μŠ€μ—μ„œ μ§€μ›ν•˜μ§€ μ•ŠλŠ” PTHREAD_SCOPE_PROCESS 값을 μ§€μ •ν–ˆλ‹€.

ATTRIBUTES

이 μ ˆμ—μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄λ“€μ— λŒ€ν•œ μ„€λͺ…은 attributes(7)λ₯Ό 보라.

μΈν„°νŽ˜μ΄μŠ€ 속성 κ°’
pthread_attr_setscope(),
pthread_attr_getscope()
μŠ€λ ˆλ“œ μ•ˆμ „μ„± MT-Safe

CONFORMING TO

POSIX.1-2001, POSIX.1-2008.

NOTES

κ²½ν•© λ²”μœ„ PTHREAD_SCOPE_SYSTEM은 보톡 μ‚¬μš©μž 곡간 μŠ€λ ˆλ“œκ°€ ν•œ 개의 컀널 μŠ€μΌ€μ€„λ§ κ°œμ²΄μ— 직접 κ²°ν•©λ˜μ–΄ μžˆμŒμ„ λ‚˜νƒ€λ‚Έλ‹€. λ¦¬λˆ…μŠ€κ°€ 그런 경우인데, ꡬ식이 된 LinuxThreads κ΅¬ν˜„κ³Ό μ΅œμ‹  NPTL κ΅¬ν˜„ λͺ¨λ‘κ°€ 1:1 μŠ€λ ˆλ”© κ΅¬ν˜„μ΄λ‹€.

POSIX.1μ—μ„œλŠ” κΈ°λ³Έ κ²½ν•© λ²”μœ„λ₯Ό κ΅¬ν˜„μ—μ„œ μ •μ˜ν•˜λŠ” κ²ƒμœΌλ‘œ λͺ…μ„Έν•œλ‹€.

SEE ALSO

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

⚠️ **GitHub.com Fallback** ⚠️