我了解到我应该解锁反向订单以锁定订单。
例如。

A.lock();
B.lock();
B.unlock();
A.unlock();

但是,如果我这样做会发生什么:
A.lock();
B.lock();
A.unlock();
B.unlock();

我试图制造一个僵局,
但是如果我总是比A早锁定A,那么我不知道会发生死锁。
你能帮我吗?

最佳答案

锁定顺序只是意味着您可以通过以固定顺序获得锁定来防止死锁,并且在开始解锁后不再获得锁定。

我认为解锁的顺序在这里没有任何区别(事实上,即使不正常,也应尽快释放锁,这将是有益的)

关于concurrency - 您能解释一下锁排序吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1951275/

10-10 10:32