一、概念和原因
线程同步就是指解决线程安全问题的方案;造成线程安全问题原因是多个线程同时访问同一个共享资源,并且存在修改资源的情况
二、线程同步的解决方案
让多个线程实现先后一次访问共享资源,例如加锁,每次只允许一个线程加锁,加锁后才能进入访问,访问完毕后自动解锁,然后其他线程才能再加锁进来。
三、三种同步方案
1.同步代码块
在访问共享资源的地方加上synchronized
2.同步方法
在方法前面加锁 synchronized
3.Lock锁
先实例化Lock接口的实现类ReentrantLock,然后在访问共享资源之前调用加锁方法,访问完调用解锁方法(安全起见用try包起来,避免出现执行到一半的时候抛异常导致没有执行解锁的情况)