H__D  

2021年3月21日

摘要: 重入锁 重入锁ReentrantLock,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对资源的重复加锁。除此之外,该锁的还支持获取锁时的公平和非公平性选择。 考虑如下场景:当一个线程调用Mutex的lock()方法获取锁之后,如果再次调用lock()方法,则该线程将会被自己所阻塞,原因是 阅读全文
posted @ 2021-03-21 16:09 H__D 阅读(87) 评论(0) 推荐(0) 编辑
 
摘要: 阅读此篇文章请先了解 AQS:【Java多线程】队列同步器AQS(十一) 阻塞队列:【Java多线程】Java中的阻塞队列(十五) 一、ArrayBlockingQueue介绍 ArrayBlockingQueue是一个用数组实现的有界阻塞队列。此队列按照先进先出(FIFO)的原则对元素进行排序。 阅读全文
posted @ 2021-03-21 16:03 H__D 阅读(164) 评论(0) 推荐(0) 编辑
 
摘要: 什么是阻塞队列 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作支持阻塞的插入和移除方法。 支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。 支持阻塞的移除方法:意思是在队列为空时,获取元素的线程会等待队列变为非空。 阻塞队列常用于生 阅读全文
posted @ 2021-03-21 15:34 H__D 阅读(137) 评论(0) 推荐(0) 编辑
 
摘要: 前面章节(【Java多线程】队列同步器AQS(十一))中,对同步器AbstractQueuedSynchronized进行了实现层面的分析,本章通过编写一个自定义同步组件来加深对同步器的理解 同步组件要求 设计一个同步工具:该工具在同一时刻,只允许至多两个线程同时访问,这里显然是共享式访问将被组赛, 阅读全文
posted @ 2021-03-21 00:25 H__D 阅读(162) 评论(0) 推荐(0) 编辑