会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
YeeQ
博客园
首页
新随笔
管理
上一页
1
···
9
10
11
12
13
14
15
16
17
···
20
下一页
2021年4月5日
Java 并发编程 生产者消费者模式
摘要: 本文部分摘自《Java 并发编程的艺术》 模式概述 在线程的世界里,生产者就是生产数据的线程,消费者就是消费数据的数据。生产者和消费者彼此之间不直接通信,而是通过阻塞队列进行通信,所以生产者生产完数据后不用等待消费者处理,而是直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列取,阻塞队列相
阅读全文
posted @ 2021-04-05 11:17 低吟不作语
阅读(347)
评论(0)
推荐(0)
2021年4月4日
Java 并发编程 Executor 框架
摘要: 两级调度模型 在 HotSpot VM 的线程模型中,Java 线程被一对一映射为本地操作系统线程。在上层,Java 多线程程序通常应用分解成若干个任务,然后使用用户级的调度器(Executor)将这些任务映射为固定数量的线程;在底层,操作系统内核将这些线程映射到硬件处理器。这种两级调度模型的示意图
阅读全文
posted @ 2021-04-04 09:48 低吟不作语
阅读(532)
评论(0)
推荐(1)
2021年3月31日
Java 线程池详解
摘要: 概述 Java 中的线程池是运行场景最多的并发框架,合理使用线程池能够带来三个好处: 降低资源消耗。通过重复利用已有的线程降低线程创建和销毁造成的消耗 提高响应速度。当任务到达时,任务可以不需要等待线程创建就能立即执行 提高线程可管理性。线程是稀缺资源,使用线程池进行统一分配、调优和监控,可以降低资
阅读全文
posted @ 2021-03-31 22:28 低吟不作语
阅读(1318)
评论(1)
推荐(2)
2021年3月28日
Java 并发工具类 CountDownLatch、CyclicBarrier、Semaphore、Exchanger
摘要: CountDownLatch CountDownLatch 允许一个或多个线程等待其他线程完成操作。假设现有一个需求:我们需要解析一个 Excel 里多个 sheet 的数据,此时可以考虑使用多线程,每个线程解析一个 sheet 的数据,等到所有的 sheet 都解析完之后,程序需要提示解析完成。在
阅读全文
posted @ 2021-03-28 13:56 低吟不作语
阅读(1086)
评论(2)
推荐(2)
2021年3月27日
Fork/Join 框架
摘要: 本文部分摘自《Java 并发编程的艺术》 Fork/Join 框架概述 Fork/Join 框架是 Java7 提供的一个用于并行执行任务的框架,是把一个大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架,其运行流程如图所示: 工作窃取算法 工作窃取算法是指某个线程从其他队列里窃
阅读全文
posted @ 2021-03-27 00:02 低吟不作语
阅读(246)
评论(0)
推荐(0)
2021年3月26日
Java 阻塞队列
摘要: 阻塞队列概述 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列,这两个附加的操作支持阻塞的插入和移除方法: 支持阻塞的插入方法:意思是当队列为满时,队列会阻塞插入元素的线程,直到队列不为满 支持阻塞的移除方法:意思是当队列为空时,获取元素的线程会等待队列变为非空 阻塞队列通常用在生
阅读全文
posted @ 2021-03-26 00:09 低吟不作语
阅读(413)
评论(0)
推荐(0)
2021年3月13日
Java 并发编程之 Condition 接口
摘要: 本文部分摘自《Java 并发编程的艺术》 概述 任意一个 Java 对象,都拥有一个监视器方法,主要包括 wait()、wait(long timeout)、notify() 以及 notifyAll() 方法,这些方法与 synchronized 同步关键字配合,可以实现等待 - 通知模式。Con
阅读全文
posted @ 2021-03-13 13:36 低吟不作语
阅读(401)
评论(0)
推荐(1)
2021年3月10日
Java 重入锁和读写锁
摘要: 本文部分摘自《Java 并发编程的艺术》 重入锁 重入锁 ReentrantLock,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对资源的重复加锁。除此之外,该锁还支持获取锁时的公平和非公平性选择 所谓不支持重进入,可以考虑如下场景:当一个线程调用 lock() 方法获取锁之后,如果再次
阅读全文
posted @ 2021-03-10 22:46 低吟不作语
阅读(322)
评论(0)
推荐(0)
2021年3月1日
Java 队列同步器 AQS
摘要: 本文部分摘自《Java 并发编程的艺术》 概述 队列同步器 AbstractQueuedSynchronize(以下简称同步器),是用来构建锁(Lock)或者其他同步组件(JUC 并发包)的基础框架,它使用了一个 int 成员变量表示同步状态,通过内置的 FIFO 队列来完成资源获取线程的排队工作
阅读全文
posted @ 2021-03-01 22:56 低吟不作语
阅读(467)
评论(0)
推荐(0)
2021年2月25日
Java 模拟数据库连接池的实现
摘要: 前面学习过等待 - 通知机制,现在我们在其基础上添加一个超时机制,模拟从连接池中获取、使用和释放连接的过程。客户端获取连接的过程被设定为等待超时模式,即如果在 1000 毫秒内无法获取到可用连接,将会返回给客户端一个 null。设定连接池的大小为 10 个,然后通过调节客户端的线程数来模拟无法获取连
阅读全文
posted @ 2021-02-25 00:16 低吟不作语
阅读(429)
评论(0)
推荐(0)
上一页
1
···
9
10
11
12
13
14
15
16
17
···
20
下一页
公告