【1】同步代码方法
sychronized 关键字修饰的方法
【2】同步代码块
sychronized 关键字修饰的代码块
【3】使用特殊变量域volatile实现线程同步
volatile关键字为域变量的访问提供了一种免锁机制
【4】使用重入锁实现线程同步。reentrantlock类是可冲入、互斥、实现了lock接口的锁
他与sychronized方法具有相同的基本行为和语义
不错的链接
https://blog.csdn.net/small_lee/article/details/51453019