我正在阅读操作系统,我遇到了进程间通信的几个问题。这些可以通过使用 monitor 来解决。 java 通过 synchronized
关键字提供的概念。
我想知道synchronized
关键字是如何实现的?我试图查看源代码,但找不到。 synchronized
是否正在使用像 down
up
这样的系统调用(基本上是信号量使用的)来监视锁?
JVM 在这个过程中有帮助吗?
我是 Java 的新手,在我进入 Java 中的线程概念之前,我想知道它是如何工作的。
提前致谢。
最佳答案
synchronized 是如何实现的还没有定义,只有它是如何工作的。
在许多 JVM 中,它所做的优化其行为是相当复杂的(例如,它试图避免进行系统调用,因为这些调用相对较慢)例如,如果 JIT 确定了这一点,它可以使用 synchronized 关键字组合或消除锁定可以做到。
关于java - java中的synchronized关键字是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12365127/