我有几个关于pthread属性的问题,我找不到其他地方的答案。
答案 0 :(得分:4)
如果你阅读pthread_mutexattr_init()
的POSIX规范,它会说:
在使用互斥锁属性对象初始化一个或多个互斥锁之后,任何影响属性对象的函数(包括破坏)都不会影响任何先前初始化的互斥锁。
同样,虽然不太清楚,pthread_attr_init()
的规范说:
pthread_create()
使用时生成的属性对象(可能通过设置各个属性值进行修改)定义了创建的线程的属性。单个属性对象可用于对pthread_create()
的多个同时调用。
pthread_create()
的规范说:
pthread_create()
函数将在进程内创建一个由attr
指定的属性的新线程。如果attr
为NULL,则应使用默认属性。如果稍后修改attr
指定的属性,则不会影响线程的属性。
我认为这些引用意味着答案是:
是的,您可以在方便时销毁属性对象。实际上,POSIX调用会复制属性。
是的,重用属性是安全的。