java多线程
文章平均质量分 76
HappyHeng
这个作者很懒,什么都没留下…
展开
-
Java 多线程基础
在Java开发中,我们经常会用到多线程来解决一些异步的问题,多线程属于Java的重点与难点,下面我们就一步一步的讲解Java中的多线程。原创 2017-10-05 17:29:55 · 637 阅读 · 0 评论 -
小白的web优化之路 四、使用Callable与Future来实现异步请求
在上一篇 小白的web优化之路 三、使用MQ来实现事务异步处理 中,我们使用MQ来将任务异步话,使接口速度得到的极大的提高,这一节中,我们就要考虑一个需要同步返回多次请求的问题。 在完成了产品经理的那个发送短信通知的‘古怪’需求之后,小白觉得自己终于可以继续开发CURD的任务了,心里不免有点小激动。突然,小白收到了产品经理的一个消息,小白心里一震,打开消息,屏幕上写着“小白我这有一个获取信息...原创 2018-06-24 13:00:35 · 1247 阅读 · 0 评论 -
Java 并发编程完全解析(一)、Java线程中的状态
从今天开始,我将带领大家走进Java并发编程的大门,第一步,就是了解Java线程中的状态。 众所周知,我们在初始化并执行一个线程的时候: new Thread(new Runnable() { @Override public void run() { xxx }...原创 2018-12-13 22:18:04 · 306 阅读 · 0 评论 -
Java 多线程解密之wait等待
在Java中,可以调用wait()方法使当前线程进入object的等待队列,这样当有新的任务需要执行的时候,调用object的notify()或者notifyAll()方法就可以唤起线程,wait(),notify()在线程池、数据库连接池有有广泛的应用。 其流程为: 首先我们知道,在获取对象的锁,也就是获取到其监视器,获取锁成功之后,则线程进入 RUNNABLE状态,即运行状态...原创 2019-01-20 15:59:51 · 809 阅读 · 0 评论 -
Java 并发编程之AbstractQueuedSynchronizer解析
一、队列同步器的使用: 队列同步器AbstractQueuedSynchronizer,它是一个用来构建锁或者其它同步组件的基础框架,其中内部使用一个int值来代表同步状态,使用的是FIFO的形式,所以被称为队列同步器,此同步器作者希望它能实现大部分的同步需求。 使用此同步器的方法一般是继承此同步器,然后实现内部的抽象方法,其中几个方法比较重要: 1、getState() : 获取...原创 2019-02-03 21:17:28 · 426 阅读 · 0 评论 -
Java 并发编程之AbstractQueuedSynchronizer源码解析
上一篇中,我们讲了 AbstractQueuedSynchronizer 的使用,链接为 Java 并发编程之AbstractQueuedSynchronizer解析 ,这一节中,我们将会从源码的角度解读: 一、双向链表: AbstractQueuedSynchronizer中使用了双向链表来作为同步器的队列,来保证FIFO。 双向链表,首先会有一个header与tail...原创 2019-02-03 21:48:10 · 616 阅读 · 0 评论 -
Java 并发编程之ReentrantLock源码解析
上一篇中,我们在源码的角度讲了AbstractQueuedSynchronizer的原理,链接为 Java 并发编程之AbstractQueuedSynchronizer源码解析 ,这一篇中,我们从源码的角度讲一下 ReentrantLock 的原理。 我们知道,ReentrantLock是我们在jdk中经常使用的可重入锁的实现类,内部分为公平的可重入锁以及不公平的可重入锁,那么这些机制...原创 2019-02-09 17:56:43 · 642 阅读 · 0 评论 -
Java并发编程之ThreadPoolExecutor线程池源码剖析
我们开始从 ThreadPoolExecutor 可以做什么来说起,然后进行源码剖析。 ThreadPoolExecutor 的初始化方法为: public ThreadPoolExecutorLocal(int corePoolSize, int maximumPoolSize, ...原创 2019-02-09 18:53:03 · 356 阅读 · 0 评论