目录
一.常见的锁策略
1.乐观锁和悲观锁
2.读写锁vs普通的互斥锁
3.重量级锁vs轻量级锁(和上面的乐观锁和悲观锁有一定重叠)
4.挂机等待锁vs自旋锁
5.公平锁vs非公平锁
6.可重入锁vs不可重入锁
二.CAS
import java.util.concurrent.atomic.AtomicInteger;
public class Demo27 {
    public static void main(String[] args) throws InterruptedException {
        AtomicInteger count = new AtomicInteger(0);//原子类,初始化一个0
        Thread t1 = new Thread(()->{
            for (int i = 0; i < 500; i++) {
                count.getAndIncrement();//这个操作先后党羽num++
            }
        });
        Thread t2 = new Thread(()->{
            for (int i = 0; i < 500; i++) {
                count.getAndIncrement();//这个操作先后党羽num++
            }
        });
        t1.start();
        t2.start();
        t1.join();
        t2.join();
        System.out.println(count.get());//通过get方法获得到原子类内部的值
    }
}
 




 

三.synchronized的优化












