Java同步的三种实现方式
1.使用synchronized关键字修饰类或者代码块; 2.使用Volatile关键字修饰变量; 3.在类中加入重入锁 举例子:多个线程在处理一个 共享变量 的时候,就会出现线程安全问题。(相当于多个窗口卖票的操作) 非同步状态下: public static void main(String[] args){ Increase increase = new Increase(); int count = 10; while (count != 0){ new Thread(() -> { increase.increasementAndPrint(); }).start(); count --; } } static class Increase { private int i = 0; void increasementAndPrint() { System.out.print(i++ + "\n"); } } 这种情况下可能会导致多个线程输出的i相同: 0 0 1 2 3 4 5 6 7 8 使用同步: 1.使用synchronized关键字 //保证原子性和有序性 static class Increase { private int i = 0; synchronized void increasementAndPrint() { System.out.println