Pthread 调度程序范围变量?

Pthread 调度程序范围变量?

我读到他们在linux中用户线程和内核线程是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     }

相关内容