我刚刚使用POSIX线程库函数创建了一个c程序来创建threads
。我没有使用pthread_attr_init()
函数。即使我的程序工作正常。那么,pthread_attr_init()
有什么用?它做了什么......?我对线程概念不熟悉。任何人都告诉我在线程概念程序中使用pthread_attr_init()
是必须的吗?
答案 0 :(得分:2)
pthread_attr_init
用于初始化线程属性结构,然后可以将其传递给pthread_create
。
如果要创建具有默认属性的线程,则将线程属性参数的NULL指针传递给pthread_init
,并且不需要初始化属性结构。
但是,如果要配置特定的线程属性,例如调度策略,优先级,并发级别,则必须先使用pthread_attr_init
初始化属性结构,然后再使用属性访问器函数({{1 }和pthread_set...
)并将其传递给pthread_get...
函数。