1.使用synchronized的方法,public synchronized save(){};
2.同步代码块synchronize(object){}
3.使用特殊域变量(voliatle)实现同步代码块的方法
4.使用重入锁实现线程同步
5.使用局部变量实现线程同步
6.使用阻塞队列实现线程同步
7.使用原子变量实现线程同步
synchronized修饰词的三种应用方式
1.修饰实例方法:作用于当前实例对象(this)加锁,进入同步代码前需要当前对象的锁
2.修饰静态方法,作用于当前类(类.class)对象加锁,进入同步代码前需要当前类对象的锁
3.修饰代码块,指定加锁对象,对给定对象加锁,进入同步代码前需要给定对象的锁