线程
线程相关知识
code_wang_hui
每天一篇文章
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ThreadPoolExecutor
ThreadPoolExecutor生命周期执行流程线程池创建线程的提交核心方法addWorkerThreadPoolExecutor.WorkerrunWorkergetTask参考于ThreadPoolExecutor生命周期状态介绍RUNNING允许接收新任务,处理队列中的任务SHUTDOWN不接收新的任务,处理完队列中的任务STOP不接收新的任务...原创 2020-04-14 20:42:49 · 216 阅读 · 0 评论 -
线程锁
线程锁分类悲观锁和乐观锁阻塞锁和自旋锁无锁、偏向锁、轻量锁、重量锁可重入锁和不可重入锁公平锁和非公平锁互斥锁和共享锁实现synchronizedLockSemaphoreCyclicBarrierLockSupportatomicCAS?什么情况下锁失败?线程竞争激烈如何评定?分类悲观锁和乐观锁一种广义的概念,线程同步的不同的角度含义实现使用场景悲观锁...原创 2020-04-07 15:27:03 · 140 阅读 · 0 评论 -
AQS(AbstractQueuedSynchronizer)源码解析
AQS(AbstractQueuedSynchronizer)源码解析理解源码解析AbstractOwnableSynchronizerAQS(AbstractQueuedSynchronizer)NodeConditionObject核心方法属性独占锁方法共享锁方法理解字面意思,抽象的同步器队列。源码解析AbstractOwnableSynchronizer一个同步器可能只属于一个线...原创 2020-04-07 15:06:46 · 253 阅读 · 0 评论 -
LockSupport工具类
LockSupport工具类介绍源码原理介绍用于创建锁和其他同步类的基本线程阻塞(不释放锁)原语。源码public class LockSupport { private LockSupport() {} // 不能实例化 private static void setBlocker(Thread t, Object arg) { UNSAFE.putOb...原创 2020-04-05 10:11:58 · 177 阅读 · 0 评论 -
线程之join
线程之join使用源码解析使用public static void main(String[] args) throws Exception { System.out.println("start"); Thread t = new Thread() { @Override public void run() {...原创 2020-04-03 22:19:29 · 323 阅读 · 0 评论 -
线程之wait
线程之wait使用方法wait疑问解答《JVM源码分析之Object.wait/notify实现》使用public class TestWait { private static Object waitObject = new Object(); public static void main(String[] args) throws Exception { ...原创 2020-04-03 17:03:57 · 217 阅读 · 0 评论 -
线程与进程
线程与进程比方:电脑比喻计算机印刷厂CPU(承担了所有的计算任务)印刷机进程车间线程车间工人假定印刷机只有一台,一次只能供给一个车间使用,一个车间可以有多名工人。也就相当于,任一时刻,单个CPU一次只能运行一个进程。车间内有很多房间,每间房间的大小不同,有些房间最多只能容纳一个人,比如厕所。里面有人的时候,其他人就不能进去了。这代表一...原创 2020-04-01 14:36:35 · 147 阅读 · 0 评论 -
Java线程源码分析
Java线程源码分析java.lang.Thread主要的成员变量如下:private char name[];//线程名称private int priority;//优先级private volatile int threadStatus = 0;//线程状态private boolean daemon = false;//是否后台线程private Runnable targ...原创 2020-04-01 15:58:42 · 184 阅读 · 0 评论 -
Java线程组
Java线程组介绍构造源码解析介绍线程组代表一组线程。另外,线程组还可以包括其他线程组。线程组形成一棵树,其中除初始线程组外的每个线程组都有一个父级。一个线程被允许访问有关其自己线程的信息组,但不能访问有关其线程组的父线程组或任何其他线程组的信息。统一管理线程system组main线程组系统线程main线程其他线程组线程组树的结构:JVM创建的system线程组是用来处理JVM的...原创 2020-04-01 11:55:46 · 159 阅读 · 0 评论 -
Runnable和Callable的区别
Runnable和Callable的区别了解一下Callable的使用FutureTask状态方法了解一下在java中线程类是java.lang.Thread,看源码可知线程类是实现了java.lang.Runnable接口的。我们如果想运行一个线程,可以新建一个java.lang.Thread并重写run()方法去执行自己的任务,当然也可以向java.lang.Thread对象中填入一个实现...原创 2020-04-02 16:07:46 · 224 阅读 · 0 评论 -
Java线程
Java线程初识线程类结构Runnable接口Future接口RunnableFuture接口FutureTask初识线程待补充类结构Runnable接口任务Future接口表示异步的结果计算。检查计算是否为完成,等待其完成并检索出结果。取消,一旦计算已完成,无法取消计算。RunnableFuture接口成功执行 run()方法会导致完成并允许访问其结果Fut...原创 2020-04-02 19:38:06 · 126 阅读 · 0 评论
分享