简直无敌!火遍全网的“多线程核心技术”(金九银十突击版),他来了

进程和线程的提出极大的提高了操作提供的性能。进程让操作系统的并发性成为了可能,而线程让进程的内部并发成为了可能。

多进程的方式也可以实现并发,为什么我们要使用多线程?

多进程方式确实可以实现并发,但使用多线程,有以下几个好处:

  • 进程间的通信比较复杂,而线程间的通信比较简单,通常情况下,我们需要使用共享资源,这些资源在线程间的通信比较容易。
  • 进程是重量级的,而线程是轻量级的,故多线程方式的系统开销更小。

由此可见多线程的学习对程序员来说是至关重要的,这也是为什么不论是大大小小的公司面试官都会问到的问题。金九银十即将来临,我特意花了时间搜集了一些相关的资料整理出了这份“Java多线程核心笔记”,我把多线程分为十一个模块进行解读。让我们来看看文档的内容

初识多线程

  • 介绍进程
  • 回到线程
  • 进程与线程
  • 并行与并发
  • Javs实现多线程
  • Java实现多线程需要注意的细节

Thread线程类API

设置线程名
守护线程
优先级线程
线程生命周期

使用多线程需要注意的问题

  • 线程安全问题
  • 性能问题
  • 安全发布对象
  • 简述解决线程安全性的办法
  • 原子性和可见性
  • 线程封闭
  • 不变性
  • 线程安全性委托

synchronized锁和lock锁

  • synchronized锁
  • Lock显式锁
  • Java锁简单总结

AQS

  • AQS是什么?
  • 同步状态
  • 先进先出队列
  • sacquire方法
  • release方法

ReentrantLock

  • 内部类
  • 构造方法
  • 非公平lock方法
  • 公平lock方法
  • unlock方法

ReentrantReadWriteLock

  • ReentrantReadWriteLock内部类
  • 读锁和写锁的状态表示
  • 写锁的获取
  • 读锁获职

线程池

  • 线程池简介
  • JDK提供的线程池API
  • ForkJoinPool线程池
  • Callable和Future
  • ThreadPoolExecutor详解
  • execute执行方法
  • 线程池关闭

死锁

  • 锁顺序死锁
  • 动态锁顺序死锁
  • 协作对象之间发生死锁
  • 固定锁顺序避免死锁
  • 开放调用避免死锁
  • 使用定时锁
  • 死锁检测

线程常用的工具类

  • CountDownLatch
  • CyclicBarrier
  • Semaphore

Atomic

  • 基础铺垫
  • CAS失败重试(自旋)
  • 原子变量类简单介绍
  • LongAdder、AtomicLong性能对比

ThreadLocal

  • 什么是ThreadLocal
  • 为什么要学习ThreadLocal?
  • ThreadLocal底层原理总结
  • 避免内存泄露

领取方式

帮忙点个赞,私信我即可获取到

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页