有人能解释Java中各种同步方法之间的不同吗?
同步块(如monitors?)
)
因此,我真的想知道Java同步选项中常用的是什么,以及它们如何映射到“传统的”/theoretical Mutexs、信号量、锁和监视器。
干杯!
发布于 2012-04-17 09:51:34
我将对以下每一项做一个简短的澄清:
tryLock这样的操作,如果锁是空闲的,只能尝试获取锁,否则会立即返回。锁需要显式地解锁。,
wait / notify的代码大致等同于条件变量的概念”。类似地,它们必须受到同步块的保护,并且只有在被用作监视器的对象上持有锁时才能正确工作。发布于 2012-04-17 08:26:26
Java具有对线程和同步的原生支持。本机(或低级)同步线程的方法是使用同步块和方法( ==关键部分)、wait()和notify()。
这种技术允许你做任何你想做的事情,但不幸的是,这种方法有时相当冗长。Doug最初在Apache项目下开发了并发包。然后,该软件包被Sun Microsystems采用。这个包提供了更方便的API。
了解更多详细信息,请查看本文:http://docs.oracle.com/javase/tutorial/essential/concurrency/
https://stackoverflow.com/questions/10187577
复制相似问题