0

我想知道诸如释放锁的volatile变量或块之类的先发生关系是否与优先级反转有关?我知道这些强加了一种发生之前的关系,编译器无法重新排序指令。它是否也会影响优先级倒置,还是它们是独立的概念?有人可以给我一个例子来更好地理解这一点吗?finally

4

1 回答 1

2

分开的概念。“优先级反转”的想法是,如果某个高优先级线程 P 被阻塞,等待低优先级线程 L 做某事,那么操作系统暂时将 L 的优先级提升到至少为P 的优先级高。

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

于 2015-08-17T15:02:35.260 回答