ZCH NOTES

博学笃志 切问近思


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 公益404

  • 搜索

java并发---线程池

发表于 2020-07-25 | 分类于 java并发 |
线程池的实现原理当向线程池提交一个任务之后,线程池是如何处理这个任务的呢?本节来看一下线程池的主要处理流程,处理流程图如图所示。从图中可以看出,当提交一个新任务到线程池时,线程池的处理流程如下。 线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务。如果核心线程 ...
阅读全文 »

java并发---AQS【条件队列】

发表于 2020-07-25 | 分类于 java并发 |
要看懂这个,必须要先看懂上一篇关于 java并发--AQS【简介】,java并发--独占锁的介绍,或者你已经有相关的知识了,否则这节肯定是看不懂的。 Condition使用我们先来看看 Condition 的使用场景,Condition 经常可以用在生产者-消费者的场景中,请看 Doug Lea 给 ...
阅读全文 »

java并发---AQS【共享锁】

发表于 2020-07-25 | 分类于 java并发 |
这篇,我们的关注点是 AQS 最后的部分,AQS 共享模式的使用。有前两篇文章的铺垫,剩下的源码分析将会简单很多。 本文先用 CountDownLatch 将共享模式说清楚,然后顺着把其他 AQS 相关的类 CyclicBarrier、Semaphore 的源码一起过一下。 相对来说,如果读者有前面 ...
阅读全文 »

java并发---AQS【独占锁】

发表于 2020-07-25 | 分类于 java并发 |
独占锁ReentrantLock的内部类FairSync,NonfairSync都是AQS的独占锁实现 获取资源与释放资源的流程图如下: " 公平锁加锁AQS大多数情况下都是通过继承来使用的, 子类通过覆写 tryAcquire 来实现自己的获取锁的逻辑,我们这里以ReentrantLock为例来说 ...
阅读全文 »

java并发---volatile关键字

发表于 2020-07-25 | 分类于 java并发 |
volatile的特性 可见性:对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入 原子性:对任意单个volatile变量的读/写具有原子性,但类似于volatile++这种复合操作不具有原子性 volatile写-读建立的happens-before关系从 ...
阅读全文 »
1…262728…33
zch

zch

163 日志
29 分类
119 标签
RSS
© 2022 zch
个人学习和工作中总结的笔记
|