内在锁是否与许可相同? (信号量,锁,线程...)

时间:2013-01-21 06:10:40

标签: java multithreading locking semaphore

我正在阅读关于内在锁和信号量的http://docs.oracle.com/javase/tutorial/essential/concurrency/locksync.html,但随后阅读了一些关于许可的http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Semaphore.html - 所有这些都与术语一起使用,“释放”和“获取”。

我想知道这些条款是否基本相同。

提前致谢。

编辑: 我真的专注于许可证与锁定以及它们之间的关系,但是......我现在有了更好的理解。

1 个答案:

答案 0 :(得分:1)

信号量和锁是类似的,因为它们都允许您修改代码,以便它是线程安全的。不同之处在于,当使用信号量时,你可以说“最多两个线程可以一次抓住这个锁”的效果;使用锁定,您只能允许一个线程在所有情况下都获取锁定。