目录
1、悲观锁乐观锁的概念
悲观锁:一上来就加锁,没有安全感,在加锁的地方每次只能有一个线程进入访问,访问完毕后再加锁。线程安全,性能较差。典型的悲观锁有synchronized
乐观锁:一开始不上锁,认为没有问题,多个线程一起跑,等到要出现线程安全问题了才开始控制。线程安全,性能较好
2、代码演示
2.1、不安全的情况
public class SCA_Syn {
public static void main(String[] args) {
MyThreadSyn myThreadSyn = new MyThreadSyn();
for (int i = 0; i<10; i++){
new Thread(myThreadSyn).start();
}
}
}
class MyThreadSyn implements Runnable{
private Integer count = 0;
@Override
public void run() {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
for (int i = 0; i<10; i