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