synchronized 和 ReentrantLock

1、synchronized 用于方法或代码块,加上它后可以确保该对象的该方法是串行的,不可并行执行。即:该方法加上了锁。这种锁方式比较简单,只需在方法或代码块前声明即可,无需显式的解锁。

2、ReentrantLock是接口Lock的实现类,它提供了tryLock、unLock等方法,可用于显式对代码块加锁。

   注意,这种方式加锁后,需要通过unLock方法显式的释放锁。一般会用try..catch..finally模式,在finally块中完成对锁的释放。

posted @ 2018-03-08 20:41  /keepgoing/  阅读(152)  评论(0编辑  收藏  举报