linux pthread_attr_t 结构体给出全部参数
pthread_attr_t 结构体的全部参数包括:
-
Detachstate:指定线程的分离状态,有两个可选值:
- PTHREAD_CREATE_JOINABLE:表示线程可以被其他线程等待并回收资源。
- PTHREAD_CREATE_DETACHED:表示线程在退出时会自动释放资源,其他线程无法等待和回收该线程。
-
Stacksize:指定线程的栈大小,用于存储线程的局部变量和函数调用信息。可以使用常量
PTHREAD_STACK_MIN来获取系统定义的最小栈大小。 -
Stackaddr:指定线程的栈起始地址,如果设置为
NULL,则系统会自动为线程分配栈空间。 -
Schedparam:指定线程的调度参数,用于设置线程的优先级和调度策略。包括以下字段:
- sched_priority:表示线程的优先级,取值范围为
sched_get_priority_min()到sched_get_priority_max()。
- sched_priority:表示线程的优先级,取值范围为
-
Schedpolicy:指定线程的调度策略,有以下几种可选值:
- SCHED_OTHER:普通调度策略,按照时间片轮转的方式进行调度。
- SCHED_FIFO:先进先出调度策略,按照优先级进行调度。
- SCHED_RR:轮转调度策略,按照优先级进行调度。
-
Inheritsched:指定线程是否继承创建者的调度策略和调度参数,有两个可选值:
- PTHREAD_INHERIT_SCHED:表示线程继承创建者的调度策略和调度参数。
- PTHREAD_EXPLICIT_SCHED:表示线程使用自己设置的调度策略和调度参数。
-
Scope:指定线程的可见性,有两个可选值:
- PTHREAD_SCOPE_SYSTEM:表示线程在系统级别可见,可以被其他进程或者线程看到。
- PTHREAD_SCOPE_PROCESS:表示线程在进程级别可见,只能被同一进程内的其他线程看到。
-
Guardsize:指定线程栈底部的保护区大小,用于检测栈溢出。一般情况下,可以设置为 0。
以上就是 pthread_attr_t 结构体的全部参数
原文地址: https://www.cveoy.top/t/topic/iQbb 著作权归作者所有。请勿转载和采集!