黑莓中隔行同步是什么意思,为什么会发生这个错误

最佳答案

隔行同步是指有两个锁以不同的顺序被 synchronized 锁定。因此,如果您有 lock a 和 lock b 并执行以下操作:

synchronized(a) {
    // Do stuff ...
    synchronized(b) {
        // Do stuff ...
    }
}

然后在另一个线程中:
synchronized(b) {
    // Do stuff ...
    synchronized(a) {
        // Do stuff ...
    }
}

这将是隔行同步。这种情况可能会导致死锁,因此应不惜一切代价避免这种情况。

希望这可以帮助。

10-08 08:15
查看更多