我有一个关于 Java 同步的相对简单(也许很愚蠢)的问题。
我有同步块,可以在我的代码中获取各种对象的锁。在某些情况下,我想获得一个全局锁,它包含我的代码中的所有其他同步语句。
在 Java 中是否有一种奇特的方法可以在不重写所有当前同步代码的情况下做到这一点?
例如,
线程 t1
synchronized (o1)
{
synchronized (o2)
{
// ...
}
}
线程 t2
synchronized (global_lock)
{
// ...
}
当线程 t2 在同步块内时,不应允许线程 t1 获取 o1 和 o2 上的锁。
非常感谢如果