Fork me on GitHub
摘要: 在上一章我们从宏观上介绍了ThreadPoolExecutor,本文将深入解析一下线程池的具体实现原理 原理解析 线程池状态 在ThreadPoolExecutor中定义了一个volatile变量,另外定义了几个static final变量表示线程池的各个状态: runState表示当前线程池的状态 阅读全文
posted @ 2018-09-21 18:03 JackpotHan 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 什么是线程池? 线程池就是以一个或多个线程循环执行多个应用逻辑的线程集合. 为什么用线程池? 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率 例如: 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3 如果T1+T3>T2,那么是不是说开启一个线程来 阅读全文
posted @ 2018-09-21 18:02 JackpotHan 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 在介绍Java的阻塞队列之前,我们简单介绍一下队列。 队列 队列是一种数据结构.它有两个基本操作:在队列尾部加人一个元素,和从队列头部移除一个元素就是说,队列以一种先进先出的方式管理数据,如果你试图向一个已经满了的阻塞队列中添加一个元素或者是从一个空的阻塞队列中移除一个元索,将导致线程阻塞.在多线程 阅读全文
posted @ 2018-09-21 18:01 JackpotHan 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 上一章我们已经简要的介绍了Java中的一些锁,本章我们就详细的来说说这些锁。 synchronized锁 synchronized锁是什么? synchronized是Java的一个关键字,它能够将代码块(方法)锁起来 它使用起来是非常简单的,只要在代码块(方法)添加关键字synchronized, 阅读全文
posted @ 2018-09-21 17:59 JackpotHan 阅读(1338) 评论(0) 推荐(0) 编辑