在关系影响优先级倒置之前发生了吗?

时间:2015-08-14 21:59:44

标签: java multithreading concurrency happens-before priority-inversion

我想知道确实发生过 - 在volatile变量或finally阻止释放锁之间的关系之前有什么事情要做优先级反转?我知道这些强加了一个先发生的关系,编译器无法重新排序指令。它是否也会影响优先级倒置,还是它们是独立的概念?有人能举个例子来更好地理解这个吗?

1 个答案:

答案 0 :(得分:2)

单独的概念。 "优先级倒置"如果某个高优先级线程P被阻塞,等待较低优先级的线程L做某事,那么OS将临时提升L的优先级至少与优先级一样高是有利的。 P。

"发生之前"是Java语言规范中的保证,它可以帮助我们推断一个线程的内存更新是否以及何时对其他线程可见。