Discuss / Java / 做个记号, 多线程环境下, 读取单个int类型不需要加锁

做个记号, 多线程环境下, 读取单个int类型不需要加锁

Topic source

自由建客2

#1 Created at ... [Delete] [Delete and Lock User]

on java 8:

原子性可以应用于除long 和double 之外的所有基本类型之上的“简单操作”。对于读写和写入

除long 和double 之外的基本类型变量这样的操作,可以保证它们作为不可分(原子) 的操作执行。

public class Counter {
    private int count = 0;

    public void add(int n) {
        synchronized(this) {
            count += n;
        }
    }

    public void dec(int n) {
        synchronized(this) {
            count -= n;
        }
    }

    public int get() {
        return count;
    }
}

  • 1

Reply