当前位置 : 主页 > 编程语言 > java >

第14章 多线程(7)读写锁和 stop、suspend弃用原因

来源:互联网 收集:自由互联 发布时间:2022-07-13
14.5.11 读锁和写锁 读写锁的使用步骤: 创建读写锁:ReetranReadWriteLock lock = new ReetrantWriteLock(); 抽取读锁: lock.readLock(); 抽取写锁: lock.writeLock(); 加读写锁:lock.lock()/lock.unlock() 读写锁的


第14章 多线程(7)读写锁和 stop、suspend弃用原因_读写锁

第14章 多线程(7)读写锁和 stop、suspend弃用原因_java_02

 14.5.11 读锁和写锁

读写锁的使用步骤:

创建读写锁:ReetranReadWriteLock lock = new ReetrantWriteLock();

抽取读锁: lock.readLock();

抽取写锁: lock.writeLock();

加读写锁:lock.lock()/lock.unlock()

读写锁的作用:线程经常只进行读出或写入,可单独加读写锁,加快线程处理速度

第14章 多线程(7)读写锁和 stop、suspend弃用原因_读锁_03

 14.5.12 为什么弃用 stop 和 suspend 方法

Stop:终止线程

Suspend:阻塞线程

共同点:从外部控制指定线程

弃用原因:

Stop: 不安全,已经操作一半的线程,无法回退到操作前的状态,比如转账已经取款,没有存款的情况下停了,这笔钱最终结果会是失踪。

Suspend: 经常导致死锁,原因是如果把一个活的锁的线程挂起了,则将导致没有线程能正常获取锁。正确的处理方式是施加一个锁范围之外的变量进行控制,防止死锁。

今天过生日,就写的简单一点吧 O(∩_∩)O哈哈~

相关内容:选择 《Java核心技术 卷1》查找相关笔记

评论

网友评论