可以同时获得两个信号量吗?

时间:2016-09-24 17:31:30

标签: java multithreading semaphore

我如何能够在java中同时获得两个信号量?

1 个答案:

答案 0 :(得分:4)

一个常见的例子是在两个帐户对象之间转移资金,其中一个帐户对象被信号量锁定。

  

我如何能够在java中同时获得两个信号量?

一个明显的答案是锁定一个然后锁定另一个。然而,这会造成僵局。

相反,您应该以某种方式对锁进行排序(例如根据帐户中的唯一ID),以便始终以相同的顺序锁定它们。