标签: java multithreading semaphore
我如何能够在java中同时获得两个信号量?
答案 0 :(得分:4)
一个常见的例子是在两个帐户对象之间转移资金,其中一个帐户对象被信号量锁定。
一个明显的答案是锁定一个然后锁定另一个。然而,这会造成僵局。
相反,您应该以某种方式对锁进行排序(例如根据帐户中的唯一ID),以便始终以相同的顺序锁定它们。