32.4. 高级 mutex 属性
以下高级 mutex 属性可以存储在 mutex 属性对象中:
mutex 属性
- 共享和私有 mutexes
共享 mutexes 可以在进程之间使用,但它们可能会带来更多的开销。
pthread_mutexattr_setpshared(&my_mutex_attr, PTHREAD_PROCESS_SHARED);- 实时优先级继承
您可以使用优先级继承来避免对优先级进行优先级的问题。
pthread_mutexattr_setprotocol(&my_mutex_attr, PTHREAD_PRIO_INHERIT);- 强大的互斥器
当 pthread dies 时,会发布 pthread 下的强大的 mutexes。但是,这会产生较高的开销。此字符串中的 _NP 表示这个选项是非 POSIX 或不可移植。
pthread_mutexattr_setrobust_np(&my_mutex_attr, PTHREAD_MUTEX_ROBUST_NP);- mutex 初始化
共享 mutexes 可以在进程之间使用,但它们可能会带来更多的开销。
pthread_mutex_init(&my_mutex_attr, &my_mutex);