多线程
文章平均质量分 92
ItsJingdai
这个作者很懒,什么都没留下…
展开
-
AQS源码分析总结(2)
AQS源码分析总结(2)@author:Jingdai@date:2021.07.20上一篇介绍了 acquire 和 release 方法的详细流程,这两个方法都是对同步队列进行操作的,AQS 框架中还有一个重要的队列,就是条件队列,这篇文章将介绍 AQS 的条件队列及其相关的操作。整体思路当调用 AQS 的 await 方法时,AQS 就会把当前线程加入到对应的条件队列中去等待。等其他的线程调用 signal 方法时,就会把这个线程从条件队列中移出,放入同步队列中。条件队列的设计思路和原创 2021-07-20 23:11:44 · 188 阅读 · 2 评论 -
AQS源码分析总结(1)
AQS源码分析总结(1)@author:Jingdai@date:2021.07.20最近研究了一下AQS源码,记录一下,水平有限,不免理解有错,欢迎讨论指正。整体思路AQS是一个提供了简化同步类设计的框架,利用AQS可以比较容易的实现同步和互斥等功能。AQS主要就是利用一个同步状态 state 来表示目前的同步状态,AQS负责管理这个同步状态。当线程无法得到同步资源时,需要将线程加入同步队列中,所以AQS 还负责管理一个同步队列。加入同步队列的同时,也涉及到线程的阻塞和唤醒,所以 AQS原创 2021-07-20 21:51:33 · 190 阅读 · 1 评论 -
Java ThreadPoolExecutor 类参数讲解
Java ThreadPoolExecutor@author:Jingdai@date:2020.11.03最近看《Java并发编程实战》这本书,书中经常出现 ThreadPoolExecutor ,而自己对这个类不是很熟悉,学习了一下,简要总结一下。基本概念ThreadPoolExecutor 这个类是一个线程池,之前看《 Java核心技术·卷1》这本书,里面有介绍可以用 Executors 类中的静态方法创建线程池,比如 Executors.newCachedThreadPool() 方原创 2020-11-03 17:06:02 · 195 阅读 · 0 评论 -
Java 中断线程(interrupt)超详细讲解
Java 中断线程(interrupt)@author:Jingdai@date:2020.10.06概念当 A 线程想让 B 线程终止运行,应该怎么办呢?在Java之前的版本中,可以利用 stop 方法来使一个线程终止,但是该方法已经被废弃了,不要这么用。现在可以在 A 线程中调用 B 线程的 interrupt() 方法,来使 B 线程知道有线程想要使自己终止,但是是否终止取决于 B 线程自己,B 完全可以不理会这个终止请求。(当然最好不要这么做)下面我们来看看细节。相关函数介绍v原创 2020-10-06 20:23:50 · 1526 阅读 · 0 评论