【发布时间】:2017-06-15 11:09:30
【问题描述】:
在 JLS17.4.4 中,它说
每次执行都有一个同步顺序。同步顺序是执行的所有同步操作的总顺序。
我知道什么是总订单。而且我知道需要订购同步操作。但这里让我感到困惑的是为什么它是 ALL 同步操作的总顺序。例如,监视器 m 上的解锁操作发生在 m 上的所有后续锁定操作之前。但是如果同时在监视器n上有一个锁定动作,是否需要在监视器m的解锁动作之后排序?如果不是,那为什么所有的同步动作都可以有一个总顺序?谢谢。
【问题讨论】:
标签: java multithreading synchronization