我了解到我应该解锁反向订单以锁定订单。
例如。
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/