1、什么是线程安全
线程安全是一个多线程环境下正确性的问题,保证在多线程环境下共享的、可修改的数据的正确性
------> 可以推论出以下结论
------>1、状态不是共享的
------>2、不可修改
可以避免线程安全问题
2、sychronized的实现
修饰方法:即使用monitorenter和monitorexit将代码包起来
3、reenterLock的概念
可重入:如果一个线程要获取一个它已经获取到的锁的时候,这个获取动作自动成功
锁的持有是以线程为单位,并不是以次数
ReenterLock lock = new ReenterLock();
lock.lock();
try{
//do something
}
catch(Exception e){
//异常处理
}
fially{
lock.unlock();
}