土星资讯站

线程池的实现原理,获取JDK源码剖析文档一份

  • 日期:2020-11-17 19:39:38
  • 来源:互联网
  • 编辑:小优
  • 阅读人数:666

对于人脑的认知来说,“代码一行行串行”当然最容易理解。但在多线程下,多个线程的代码交叉并行,要访问互斥资源,要互相通信。作为者,需要仔细设计线程之间的互斥与同步,稍不留心,就会写出非线程安全的代码。正因此,多线程编程一直是一个被广泛而深入讨论的领域!

第1篇:多线程基础

线程的优雅关闭

InterruptedException 函数与interrupt 函数

synchronized关键字

wait 与notify

volatile关键字

JMM与happen-before

内存屏障

final关键字

综合应用:无锁编程

线程池的实现原理,获取JDK源码剖析文档一份(图1)

线程池的实现原理,获取JDK源码剖析文档一份(图2)

线程池的实现原理,获取JDK源码剖析文档一份(图3)

线程池的实现原理,获取JDK源码剖析文档一份(图4)

第2篇:Atomic类

AtomicInteger和AtomicLong

AtomicBoolean和AtomicReference

AtomicStampedReference和AtomicMarkableReference

AtomicIntegerFieldUpdater. AtomicL ongFieldUpdater和AtomicReferenceFieldUpdater

AtomicIntegerArray. AtomicLongArray和Atomic ReferenceArray

Striped64与LongAdder

线程池的实现原理,获取JDK源码剖析文档一份(图5)

线程池的实现原理,获取JDK源码剖析文档一份(图6)

线程池的实现原理,获取JDK源码剖析文档一份(图7)

线程池的实现原理,获取JDK源码剖析文档一份(图8)

第3篇:Lock与Condition

互斥锁

读写锁

Condition

StampedLock

线程池的实现原理,获取JDK源码剖析文档一份(图9)

线程池的实现原理,获取JDK源码剖析文档一份(图10)

线程池的实现原理,获取JDK源码剖析文档一份(图11)

线程池的实现原理,获取JDK源码剖析文档一份(图12)

第4篇:同步工具类

Semaphore

CountDownLatch

CyclicBarrier

Exchanger

Phaser

线程池的实现原理,获取JDK源码剖析文档一份(图13)

线程池的实现原理,获取JDK源码剖析文档一份(图14)

线程池的实现原理,获取JDK源码剖析文档一份(图15)

第5篇:并发容器

BlockingQueue

BlockingDeque

CopyOnWrite

ConcurrentLinkedQueue/Deque

ConcurrentHashMap

ConcurrentSkipListMap/Set

线程池的实现原理,获取JDK源码剖析文档一份(图16)

线程池的实现原理,获取JDK源码剖析文档一份(图17)

线程池的实现原理,获取JDK源码剖析文档一份(图18)

线程池的实现原理,获取JDK源码剖析文档一份(图19)

第6篇:线程池与Future

线程池的实现原理

线程池的类继承体系

ThreadPoolExector

Callable与Future

ScheduledThreadPoolExecutor

Executors工具类

线程池的实现原理,获取JDK源码剖析文档一份(图20)

线程池的实现原理,获取JDK源码剖析文档一份(图21)

线程池的实现原理,获取JDK源码剖析文档一份(图22)

第7篇:ForkJoinPool

ForkJoinPool用法

核心数据结构

工作窃取队列

ForkJoinPool状态控制

Worker线程的阻塞—唤醒机制

任务的提交过程分析

工作窃取算法:任务的执行过程分析

ForkJoinTask的fork/join

ForkJoinPool的优雅关闭

线程池的实现原理,获取JDK源码剖析文档一份(图23)

线程池的实现原理,获取JDK源码剖析文档一份(图24)

线程池的实现原理,获取JDK源码剖析文档一份(图25)

线程池的实现原理,获取JDK源码剖析文档一份(图26)

第8篇:CompletableFuture

CompletableFuture用法

四种任务原型

CompletionStage接口

CompletableFuture内部原理

线程池的实现原理,获取JDK源码剖析文档一份(图27)

线程池的实现原理,获取JDK源码剖析文档一份(图28)

线程池的实现原理,获取JDK源码剖析文档一份(图29)

线程池的实现原理,获取JDK源码剖析文档一份(图30)

总结

本文相关词条概念解析:

线程

线程,计算机科学术语,有时也被称为轻量级进程(Light Weight Process,LWP),它是运行中的程序的调度单位。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。线程被包含在进程之中,是进程的一个实体,是CPU调度和分派的基本单位它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。

网友评论

提交评论

网站申明:本站图片仅为设计美化,与文章无关。如认为影响您的权益,请与我们联系。