
Java 多线程剖析与源码解密
文章平均质量分 70
此专栏深入讲解了Java中多线程技术的运用,以及Java中多线程框架的源码解密。
HappyHeng
这个作者很懒,什么都没留下…
展开
-
Java并发编程之ThreadPoolExecutor线程池源码剖析
我们开始从 ThreadPoolExecutor 可以做什么来说起,然后进行源码剖析。 ThreadPoolExecutor 的初始化方法为: public ThreadPoolExecutorLocal(int corePoolSize, int maximumPoolSize, ...原创 2019-02-09 18:53:03 · 391 阅读 · 0 评论 -
Java 并发编程之ReentrantLock源码解析
上一篇中,我们在源码的角度讲了AbstractQueuedSynchronizer的原理,链接为 Java 并发编程之AbstractQueuedSynchronizer源码解析 ,这一篇中,我们从源码的角度讲一下 ReentrantLock 的原理。 我们知道,ReentrantLock是我们在jdk中经常使用的可重入锁的实现类,内部分为公平的可重入锁以及不公平的可重入锁,那么这些机制...原创 2019-02-09 17:56:43 · 659 阅读 · 0 评论 -
Java 并发编程之AbstractQueuedSynchronizer源码解析
上一篇中,我们讲了 AbstractQueuedSynchronizer 的使用,链接为 Java 并发编程之AbstractQueuedSynchronizer解析 ,这一节中,我们将会从源码的角度解读: 一、双向链表: AbstractQueuedSynchronizer中使用了双向链表来作为同步器的队列,来保证FIFO。 双向链表,首先会有一个header与tail...原创 2019-02-03 21:48:10 · 637 阅读 · 0 评论 -
Java 并发编程之AbstractQueuedSynchronizer解析
一、队列同步器的使用: 队列同步器AbstractQueuedSynchronizer,它是一个用来构建锁或者其它同步组件的基础框架,其中内部使用一个int值来代表同步状态,使用的是FIFO的形式,所以被称为队列同步器,此同步器作者希望它能实现大部分的同步需求。 使用此同步器的方法一般是继承此同步器,然后实现内部的抽象方法,其中几个方法比较重要: 1、getState() : 获取...原创 2019-02-03 21:17:28 · 454 阅读 · 0 评论 -
Java 多线程解密之wait等待
在Java中,可以调用wait()方法使当前线程进入object的等待队列,这样当有新的任务需要执行的时候,调用object的notify()或者notifyAll()方法就可以唤起线程,wait(),notify()在线程池、数据库连接池有有广泛的应用。 其流程为: 首先我们知道,在获取对象的锁,也就是获取到其监视器,获取锁成功之后,则线程进入 RUNNABLE状态,即运行状态...原创 2019-01-20 15:59:51 · 837 阅读 · 0 评论 -
Java 并发编程完全解析(一)、Java线程中的状态
从今天开始,我将带领大家走进Java并发编程的大门,第一步,就是了解Java线程中的状态。 众所周知,我们在初始化并执行一个线程的时候: new Thread(new Runnable() { @Override public void run() { xxx }...原创 2018-12-13 22:18:04 · 323 阅读 · 0 评论