第1章
死锁条件:1)多个竞争者,2)占有并保持,3)占有顺序不固定
继承异常和可重用性:父类设置了同步,而子类没有。
lock()
.....
throw exception
return
unlock()
在之中如果抛出异常,或返回,那么可能没有释放锁。要用try,finally里面释放。用synchronized的话不会有问题。
本文介绍了死锁产生的四个必要条件,并探讨了如何避免在使用锁的过程中因异常导致的资源未释放问题。文中还对比了使用synchronized关键字和显式锁在异常处理上的不同。
第1章
死锁条件:1)多个竞争者,2)占有并保持,3)占有顺序不固定
继承异常和可重用性:父类设置了同步,而子类没有。
lock()
.....
throw exception
return
unlock()
在之中如果抛出异常,或返回,那么可能没有释放锁。要用try,finally里面释放。用synchronized的话不会有问题。
6350

被折叠的 条评论
为什么被折叠?