如何实现java中的synchronized关键字?

时间:2012-09-11 07:51:46

标签: java synchronization system-calls

我正在阅读操作系统,我遇到了几个进程间通信问题。这些可以通过使用monitor概念来解决,这些概念是通过synchronized关键字提供的。

我想知道synchronized关键字是如何实现的?我试着查看源代码但我无法找到它。 synchronized是否正在使用系统调用,例如down up(信号量基本上使用的信号量)来监控锁定?

JVM是否有助于此过程?

我是Java的新手,我希望在进入java中的线程概念之前知道事情是如何工作的。

提前致谢。

1 个答案:

答案 0 :(得分:6)

未定义如何实现同步,仅定义它的工作方式。

在许多JVM中,优化其行为是非常复杂的(例如,它试图避免进行系统调用,因为它们相对较慢)例如,如果它确定了这个,JIT可以将synchronized锁定与synchronized关键字组合或消除可以做到。