H__D  
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 56 下一页

2021年3月21日

摘要: 什么是阻塞队列 阻塞队列(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) 编辑

2021年3月20日

摘要: 一、LockSupport 工具 1.1 LockSupport 介绍 当需要阻塞或唤醒一个线程的时候,都会使用LockSupport工具类来完成相应工作。LockSupport定义了一组的公共静态方法,这些方法提供了基本的线程阻塞和唤醒功能,而LockSupport也成为构建同步组件的基础工具 L 阅读全文
posted @ 2021-03-20 19:57 H__D 阅读(119) 评论(0) 推荐(0) 编辑
 
摘要: 介绍了锁和AQS:【Java多线程】队列同步器AQS(十一),阅读此篇文章请先了解AQS 一、ReentrantLock介绍 ReentrantLock是可重入的独占锁,同时只能有一个线程可以获取这个锁,其他线程尝试获取就会被阻塞并放入AQS阻塞队列中, 类图结构如下: 二、原理分析 了解锁的基本原 阅读全文
posted @ 2021-03-20 17:25 H__D 阅读(53) 评论(0) 推荐(0) 编辑
 
摘要: 一、Lock接口 Lock实现和synchronized关键字类似的同步功能,只是Lock在使用时需要显式地获取和释放锁,synchronized实现的隐式的获取所和释放锁。 虽然Lock它缺少了(通过synchronized块或者方法所提供的)隐式获取释放锁的便捷性,但是却拥有了锁获取与释放的可操 阅读全文
posted @ 2021-03-20 17:20 H__D 阅读(125) 评论(0) 推荐(0) 编辑

2021年3月19日

摘要: 并发包中ThreadLocalRandom类原理剖析 ThreadLocalRandom类是JDK7在JUC包下新增的随机数生成器,它解决了Random类在多线程下多个线程竞争内部唯一的原子性种子变量而导致大量线程自旋重试的不足。本节首先讲解下Random类的实现原理已经它在多线程下使用的局限性,然 阅读全文
posted @ 2021-03-19 19:24 H__D 阅读(147) 评论(0) 推荐(0) 编辑
 
摘要: 方法官方说明 interrupt()方法 其作用是中断此线程(此线程不一定是当前线程,而是指调用该方法的Thread实例所代表的线程),但实际上只是给线程设置一个中断标志,线程仍会继续运行。 interrupted()方法 作用是测试当前线程是否被中断(检查中断标志),返回一个boolean并清除中 阅读全文
posted @ 2021-03-19 13:03 H__D 阅读(94) 评论(0) 推荐(0) 编辑
 
摘要: 一、双向链表介绍 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表 双向链表图示 双向链表与单链表对比 1、单向链表,查找的方向只能是一个方向,而双 阅读全文
posted @ 2021-03-19 01:57 H__D 阅读(80) 评论(0) 推荐(0) 编辑
 
摘要: 一、约瑟夫问题介绍 Josephu 问题为:设编号为 1,2,… n 的 n 个人围坐一圈,约定编号为 k(1<=k<=n)的人从 1 开始报数,数 到 m 的那个人出列,它的下一位又从 1 开始报数,数到 m 的那个人又出列,依次类推,直到所有人出列为止,由 此产生一个出队编号的序列。 1.1 约 阅读全文
posted @ 2021-03-19 01:49 H__D 阅读(70) 评论(0) 推荐(0) 编辑

2021年3月18日

摘要: 享元模式 在面向对象程序设计过程中,有时会面临要创建大量相同或相似对象实例的问题。创建那么多的对象将会耗费很多的系统资源,它是系统性能提高的一个瓶颈。例如,围棋和五子棋中的黑白棋子,图像中的坐标点或颜色,局域网中的路由器、交换机和集线器,教室里的桌子和凳子等。这些对象有很多相似的地方,如果能把它们相 阅读全文
posted @ 2021-03-18 23:56 H__D 阅读(76) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 56 下一页