pthread_attr_init 子例程

用途

创建一个线程属性对象并使用缺省值进行初始化。

线程库 (libpthreads.a)

语法

#include <pthread.h>
int pthread_attr_init ( attr)
pthread_attr_t *attr;

描述

pthread_attr_init 子例程创建新的线程属性对象 attr。 新线程属性对象将使用以下缺省值进行初始化:

始终初始化
属性 缺省值
Detachstate PTHREAD_CREATE_JOINABLE
争用作用域 PTHREAD_SCOPE_SYSTEM 缺省值确保与不支持此 POSIX 选项的实现兼容。
Inheritsched pthread_inheritsched
Schedparam sched_param 结构sched_prio字段设置为 1 ,这是最不被看好的优先级。
Schedpolicy SCHED_OTHER
Stacksize pthread_stack_min
Guardsize PAGESIZE

生成的属性对象 (可能通过设置个别属性值进行修改) 在由 pthread_create使用时,定义所创建线程的属性。 单个属性对象可以在对 pthread_create的多个同时调用中使用。

参数

描述
attr 指定要创建的线程属性对象。

返回值

成功完成后,将使用缺省值填充新的线程属性对象,并通过 attr 参数返回该对象,然后返回 0。 否则,将返回错误代码。

错误代码

如果以下情况成立,那么 pthread_attr_init 子例程不成功:

描述
EINVAL attr 参数无效。
ENOMEM 没有足够的内存来创建线程属性对象。

此函数不会返回错误代码 [EINTR]。