简体   繁体   English

查询java中锁机制的实现

[英]Query on implementation of lock mechanism in java

As mentioned in Doug Lea's "Concurrent Programming in Java", 如Doug Lea的“ Java并发编程”中所述,

Every instance of class Object (and its subclasses) possesses a lock that is obtained on entry to a synchronized method and automatically released upon exit. Object类(及其子类)的每个实例都具有一个锁,该锁在进入同步方法时获得,并在退出时自动释放。

Does JVM implement lock mechanism completely in user space? JVM是否在用户空间中完全实现锁定机制?

or 要么

Does JVM rely on OS kernel space system calls to implement lock? JVM是否依靠OS内核空间系统调用来实现锁定? Please provide reference to the code that implements lock mechanism. 请提供对实现锁定机制的代码的引用。

Note: New to java multi-threading 注意:Java多线程新手

Does JVM implement lock mechanism completely in user space? JVM是否在用户空间中完全实现锁定机制?

Mostly, but not completely. 通常,但不是完全。

Does JVM rely on OS kernel space system calls to implement lock? JVM是否依靠OS内核空间系统调用来实现锁定?

It tries to handle the lock in user space but if the lock cannot be obtained for a while, it drops back to an OS lock. 它尝试处理用户空间中的锁,但是如果一段时间无法获得该锁,它将退回到OS锁。

The reference implementation is in the OpenJDK, which you free to download. 参考实现在OpenJDK中,您可以免费下载。

New to java multi-threading Java多线程新手

Getting buried/lost in the details might not be very helpful. 沉入/迷失在细节中可能不会有太大帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM