我问the following question on darwin-dev in July 2011并没有收到任何回复。现在我在这里问:
我想知道是否pthreads PTHREAD_PRIO_INHERIT互斥锁 在Mac OS X上可以用来避免正常频段之间的优先级倒置 和实时波段线程。我的主要用例是两者之间的通信 普通带UI线程和CoreAudio实时频带IOProcs。
OS X内核编程指南(2006,第73页)说pthreads API 只处理正常频段的优先级。因此,我不清楚 PTHREAD_PRIO_INHERIT互斥锁是否可以继承优先级 THREAD_TIME_CONSTRAINT_POLICY线程。
我在2003年的[darwin-dev]名单上发现了一条消息,其中Jim Magee表示优先 继承是为内核互斥体和其他机制实现的 他们是在早期形成阶段。"我有兴趣听听在哪里 这取决于: http://lists.apple.com/archives/darwin-development/2003/Jan/msg00215.html
总之,我的问题是:
Mac OS X是否具有用户空间互斥优先级继承机制 可用于避免正常和实时频段之间的优先级倒置 线程?
PTHREAD_PRIO_INHERIT互斥锁是否可以可靠地用于此目的?放 另一种方式:PTHREAD_PRIO_INHERIT互斥锁可以继承优先级 THREAD_TIME_CONSTRAINT_POLICY线程?
补充问题:PTHREAD_PRIO_INHERIT已知可以正常运行OS X上的正常带线程吗?