上一页 1 ··· 9 10 11 12 13 14 15 下一页
摘要: 我们知道线程池运行时,会不断从任务队列中获取任务,然后执行任务。如果我们想实现延时或者定时执行任务,重要一点就是任务队列会根据任务延时时间的不同进行排序,延时时间越短地就排在队列的前面,先被获取执行。 队列是先进先出的数据结构,就是先进入队列的数据,先被获取。但是有一种特殊的队列叫做优先级队列,它会 阅读全文
posted @ 2019-01-16 14:24 chen_hao 阅读(2609) 评论(1) 推荐(3) 编辑
摘要: 前两篇文章讲了线程池的源码分析,再来看这篇文章就比较简单了, 本文主要讲解 Executors 这个工具类,看看长江创建线程池的几种方法。 newFixedThreadPool 生成一个固定大小的线程池: 1 public static ExecutorService newFixedThreadP 阅读全文
posted @ 2019-01-14 16:12 chen_hao 阅读(1168) 评论(0) 推荐(1) 编辑
摘要: 在上一篇《并发编程(十一)—— Java 线程池 实现原理与源码深度解析(一)》中提到了线程池ThreadPoolExecutor的原理以及它的execute方法。这篇文章是接着上一篇文章写的,如果你没有阅读上一篇文章,建议你去读读。本文解析ThreadPoolExecutor#submit。 对于 阅读全文
posted @ 2019-01-14 09:57 chen_hao 阅读(1596) 评论(0) 推荐(1) 编辑
摘要: 史上最清晰的线程池源码分析 鼎鼎大名的线程池。不需要多说!!!!! 这篇博客深入分析 Java 中线程池的实现。 总览 下图是 java 线程池几个相关类的继承结构: 先简单说说这个继承结构,Executor 位于最顶层,也是最简单的,就一个 execute(Runnable runnable) 接 阅读全文
posted @ 2019-01-11 16:18 chen_hao 阅读(2476) 评论(0) 推荐(1) 编辑
摘要: FutureTask是一个支持取消行为的异步任务执行器。该类实现了Future接口的方法。 如: 取消任务执行 查询任务是否执行完成 获取任务执行结果(”get“任务必须得执行完成才能获取结果,否则会阻塞直至任务完成)。 注意:一旦任务执行完成或取消任务,则不能执行取消任务或者重新启动任务。(除非一 阅读全文
posted @ 2019-01-09 15:58 chen_hao 阅读(1964) 评论(0) 推荐(1) 编辑
摘要: BlockingQueue 实现之 SynchronousQueue SynchronousQueue是一个没有数据缓冲的BlockingQueue,生产者线程对其的插入操作put必须等待消费者的移除操作take,反过来也一样。 不像ArrayBlockingQueue或LinkedListBloc 阅读全文
posted @ 2019-01-09 09:30 chen_hao 阅读(1230) 评论(0) 推荐(1) 编辑
摘要: LinkedBlockingQueue 在看源码之前,通过查询API发现对LinkedBlockingQueue特点的简单介绍: 1、LinkedBlockingQueue是一个由链表实现的有界队列阻塞队列。2、新元素插入到队列的尾部,队列获取操作则是从队列头部开始获得元素3、大小默认值为Integ 阅读全文
posted @ 2019-01-08 14:17 chen_hao 阅读(1391) 评论(0) 推荐(4) 编辑
摘要: 一、基础篇JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 阅读全文
posted @ 2019-01-08 10:20 chen_hao 阅读(3015) 评论(2) 推荐(7) 编辑
摘要: 开篇先介绍下 BlockingQueue 这个接口的规则,后面再看其实现。 阻塞队列概要 阻塞队列与我们平常接触的普通队列(LinkedList或ArrayList等)的最大不同点,在于阻塞队列的阻塞添加和阻塞删除方法。 阻塞添加 所谓的阻塞添加是指当阻塞队列元素已满时,队列会阻塞加入元素的线程,直 阅读全文
posted @ 2019-01-07 16:47 chen_hao 阅读(1838) 评论(0) 推荐(2) 编辑
摘要: 这篇,我们的关注点是 AQS 最后的部分,共享模式的使用。本文先用 CountDownLatch 将共享模式说清楚,然后顺着把其他 AQS 相关的类 CyclicBarrier、Semaphore 的源码一起过一下。 CountDownLatch CountDownLatch 这个类是比较典型的 A 阅读全文
posted @ 2018-12-29 15:24 chen_hao 阅读(1150) 评论(0) 推荐(3) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 下一页