一枝会思想的芦苇
一枝会思想的芦苇
全部文章
未归档
归档
标签
去牛客网
登录
/
注册
一枝会思想的芦苇
算法、操作系统、网络、并发、数据库、java、后端
全部文章
/ 未归档
(共68篇)
21.线程的活性故障:锁死
目录 1.定义 2.信号丢失锁死 3.嵌套监视器锁死 1.定义 等待线程由于唤醒其所需的条件永远无法成立,或者其他线程无法唤醒这个线程而一直处于非运行状态(线程并未终止)导致其任务 一直无法进展,那么我们就称这个线程被锁死。 2.信号丢失锁死 信号丢失锁死是由于没有相...
2019-02-26
0
548
20.线程的活性故障:死锁
目录 1.定义 2.死锁产生的条件 3.规避死锁的方法 4.死锁的恢复 1.定义 死锁是线程的一种常见活性故障。如果两个或者更多的线程因相互等待对方而被永远暂停(线程的生命周期状态为 BLOCKED 或者 WAITING), 那么我们就称这些线程产生了死锁(Deadl...
2019-02-26
0
479
19.保障线程安全的设计技术:并发集合
目录 1.并发集合类 2.遍历方式 1.并发集合类 java.util.concurrent 包中引入了一些线程安全的集合对象,它们被称为并发集合。这些对象通常可以作为同步集合的替代品,它们与常用的非线程安全集合对象之间的对应关系如下表所示。 ConcurrentL...
2019-02-26
0
705
18.保障线程安全的设计技术:装饰器模式
目录 1.定义 2.优点 3.缺点 1.定义 装饰器 (Decorator) 模式可以用来实现线程安全,其基本思想是为非线程安全对象创建一个相应的线程安全的外包装对象 (Wrapper), 客户端代码不直接访问非线程安全对象而是访问其外包装对象。外包装对象与相应的非线程安...
2019-02-25
0
751
17.保障线程安全的设计技术:线程特有对象
目录 1.定义 2.使用 3.线程特有对象可能导致的问题及其规避 4.线程特有对象的典型应用场景 1.定义 对于一个非线程安全对象,每个线程都创建一个该对象的实例,各个线程仅访问各自创建的实例,且一个线程不能访问另外一个线程创建的实例。这种各个线程创建各自的实例,一个...
2019-02-25
0
546
16.保障线程安全的设计技术:不可变对象
目录 1.定义 2.不可变对象的典型应用场景 1.定义 不可变对象 (Immutable Object) 是指一经创建其状态就保持不变的对象。不可变对象也具有固有的线程安全性,因此不可变对象也可以像无状态对象那样被多个线程共享,而这些线程访问这些共享对象的时候无须加锁。当不可...
2019-02-25
0
421
15.保障线程安全的设计技术:无状态对象
如果一个类的同一个实例被多个线程共享并不会使这些线程存在共享状态, 那么这个类及其任意一个实例就被称为无状态对象。无状态对象不含任何实例变量,且不包含任何静态变量或者其包含的静态变量都是只读的(常量)。 一个线程执行无状态对象的任意一个方法来完成某个计算的时候,该计算的瞬时状态(中间结果)仅体现在局...
2019-02-25
0
409
14.线程间协作:线程中断机制
目录 1.中断标记 2.中断响应 3.Interrupted Exception异常 1.中断标记 对于有些比较耗时的任务,我们往往会采用专门的工作者线程来负责其执行,如果中途要取消这类任务的执行,那么我们就需要借助 Java 线程中断机制。Java平台会为每个线程维护一...
2019-02-25
0
555
13.线程间协作:生产者—消费者模式
目录 1.生产者—消费者模式 2.阻塞队列 3.流量控制与信号量 4.双缓冲与Exchanger 1.生产者—消费者模式 在生产者—消费者模式中,生产者 (Producer) 的主要职责是生产(创建)产品(Product)。产品既可以是数据,也可以是任务。消费者 (C...
2019-02-23
0
576
12.线程间协作:栅栏CyclicBarrier
目录 1.使用 2.CyclicBarrier的典型应用场景 1.使用 有时候多个线程可能需要相互等待对方执行到代码中的某个地方(集合点),这时这些线程才能够继续执行 。JDK 1.5 开始引入了一个类java.util.concurrent.CyclicBarrier, 该...
2019-02-21
0
409
首页
上一页
1
2
3
4
5
6
7
下一页
末页