如何实现synchronized java关键字?

时间:2011-08-15 16:43:08

标签: java multithreading

在C#中,lock关键字是try/catch块和Monitor实例的不错语法。

在Java中,使用什么同步类是synchronized关键字的基础?

编辑 - 我做了一些进一步的戳 - 看起来它同步被编译为monitorenter / monitorexit字节码操作。是否有一个类重复了这些语义?

2 个答案:

答案 0 :(得分:4)

没有使用类 - 它是由JVM处理的语言构造。

但是,Java 5引入了java.util.concurrent.locks,其中包含Lock接口及其多个实现。有关样本用法,请参阅链接的文档。

答案 1 :(得分:2)

synchronized关键字使其修改的实体与JVM内部的锁同步。据我所知,它没有架构类,并且它不一定对应于任何特定的OS构造。

但是,锁机制有bytecode construct,用于进入/退出同步{}块。