Java并发编程艺术(一) Java并发机制的底层实现

2022-09-11  本文已影响0人  kaiker

1、volatile的应用

CPU术语
instance = new Singleton();

0x01... movb $0x0, 0x01...: lock addl $0x0,(%esp);

2、synchronized的实现原理与应用

2.1 Java对象头

Java对象头存储结构 Mark Word

2.2 锁的升级与对比

偏向锁

偏向锁

轻量级锁

轻量锁 锁对比

3、原子操作的实现原理

CPU术语

Java实现原子操作

    private void safeCount() {
        for (;;) {
            int i = atomicI.get();
            boolean suc = atomicI.compareAndSet(i, ++i);
            if (suc) {
                break;
            }
        }
    }

可能出现ABA、循环时间长开销大、只能保证一个共享变量的原子操作等问题。

上一篇下一篇

猜你喜欢

热点阅读