作品分享
问答交流
发现
任务
客服工单
** 实例方法-使用实例对象锁,static 方法 使用Class对象锁** ** 对象内置锁为互斥锁,一个同步块,只有一个线程进入** ** 同步代码块中的代码具有原子性** ** 进入代码块内获取到锁,无论正常退出or非常都会开释锁**
处理处罚锁的不可用性题目更加机动 ** 同步块无法停止等待的线程,无法无限等待** ** 必须(主动)代码块后开释锁,包括非常,无法实现非壅闭布局的加锁规则** ** ReentrantLocak必须主动开释锁,非常不会主动开释锁,更加伤害(忘记了开释)**
** ReentrantLock拥有内置锁没有的特性:锁等待(超时,轮询)、可停止的锁等待壅闭、公平性锁、更加机动可以实现非块布局加锁; ** ** 而内置锁的使用更加简朴明白,主动获取锁和开释锁,比ReentrantLock更加安全,不会由于忘记开释锁导致不可知题目; ** ** 在性能方法,java6后两者实际相差不大。当内置锁不能满足使用需求是,可以思量使用ReentrantLock,即还是优先使用内置锁**
举报
Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )
GMT+8, 2024-11-22 04:59, Processed in 0.219431 second(s), 32 queries.© 2003-2025 cbk Team.