Pthread 스케줄러 범위 변수?

Pthread 스케줄러 범위 변수?

리눅스에서는 사용자 스레드와 커널 스레드가 1:1로 매핑된다는 것을 읽었습니다.

Linux에서 PTHREAD_SCOPE_PROCESS와 PTHREAD_SCOPE_SYSTEM의 차이점은 무엇입니까? 커널이 각 스레드를 프로세스로 처리하면 성능 차이가 없습니까? 정정해 내가 틀렸어

답변1

매뉴얼 페이지에 따르면:

Linux는 PTHREAD_SCOPE_SYSTEM을 지원하지만 PTHREAD_SCOPE_PROCESS는 지원하지 않습니다.

당신이 보면glibc 구현:

0034   /* Catch invalid values.  */
0035   switch (scope)
0036     {
0037     case PTHREAD_SCOPE_SYSTEM:
0038       iattr->flags &= ~ATTR_FLAG_SCOPEPROCESS;
0039       break;
0040 
0041     case PTHREAD_SCOPE_PROCESS:
0042       return ENOTSUP;
0043 
0044     default:
0045       return EINVAL;
0046     }

관련 정보