目录
一.常见的锁策略
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方法获得到原子类内部的值
}
}