标签: java multithreading jvm java-native-interface
Soneone告诉我,AtomicInteger是使用JNI实现的,因此它比同步更快。这是真的吗?
AtomicInteger
答案 0 :(得分:7)
不太可能基于JNI实现,因为这意味着显着的开销。上次我看起来OpenJDK实现是基于sun.misc.Unsafe中的方法,这些方法主要是作为JVM原语实现的(方法调用是专门用JVM中的本机代码实现的)。
sun.misc.Unsafe
答案 1 :(得分:0)
到了问题的关键点,AtomicInteger没有调用同步的锁定机制,因此可以在适当的环境中提供性能优势。