2017年11月25日
摘要: 多线程编程中,当代码需要同步时我们会用到锁。Java为我们提供了内置锁(`synchronized`)和显式锁(`ReentrantLock`)两种同步方式。显式锁是JDK1.5引入的,这两种锁有什么异同呢?是仅仅增加了一种选择还是另有其因?本文为您一探究竟。内置锁能够解决大部分需要同步的场景,只有在需要额外灵活性是才需要考虑显式锁,比如可定时、可中断、多等待队列等特性。显式锁虽然灵活,但是需要显式的申请和释放,并且释放一定要放到finally块中,否则可能会因为异常导致锁永远无法释放!这是显式锁最明显的缺点。 阅读全文
posted @ 2017-11-25 20:52 CarpenterLee 阅读(7192) 评论(0) 推荐(4) 编辑