我们可以通过pthread_attr_t
设置线程优先级,这是pthread_create
中的第二个参数,但我们不能通过pthread_attr_t
将线程优先级设置为main函数。
如果主函数和其他线程都等待互斥锁,那么将获得对互斥锁的访问首先?
答案 0 :(得分:3)
您无法预测许多线程中的哪个线程会首先获得互斥锁,无论其优先级如何。
具有更高优先级的线程将更频繁地运行,并且更多 可能 来获取锁定,绝对无法保证。
此外,如果您设计的代码依赖于线程以特定顺序获取锁定,那么您肯定错误地设计了该程序。