我们可以通过pthread_attr_t
设置线程优先级,这是pthread_create
中的第二个参数,但是我们不能通过pthread_attr_t
来设置线程优先级给main函数。
如果主函数和其他线程都在等待互斥锁,哪个线程会先获得互斥锁?
最佳答案
您无法预测许多线程中的哪个线程将首先获得互斥锁,无论它们的优先级如何。
优先级高的线程会运行的更频繁,也更可能获得锁,绝对不能保证。
此外,如果您曾经设计过依赖线程以特定顺序获取锁的代码,那么您肯定是在错误地设计程序。
关于c - 主函数和 pthread 中其他线程之间的互斥锁优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24073815/