您的位置 首页 java

“全栈2019”53篇Java多线程学习资料及总结

难度

初级

学习时间

10分钟

适合人群

零基础

开发语言

Java

开发环境

  • JDK v11
  • IntelliJIDEA v2018.3

友情提示

  • 本教学属于系列教学,内容具有连贯性,本章使用到的内容之前教学中都有详细讲解。
  • 本章内容针对零基础或基础较差的同学比较友好,可能对于有基础的同学来说很简单,希望大家可以根据自己的实际情况选择继续看完或等待看下一篇文章。谢谢大家的谅解!

《“全栈2019”Java 多线程 》学习资料目录

温馨提示

如果只是看 《“全栈2019”Java多线程》 系列的全部文章链接的话,请大家只看上面的目录部分。

下面的内容介绍部分就是每篇文章的主要知识点汇总,方便大家查阅。

《“全栈2019”Java多线程》内容介绍

在 一章中介绍了 什么是线程。

在 一章中介绍了 创建多线程方式之继承Thread。

在 一章中介绍了 创建多线程方式之实现Runnable接口。

在 一章中介绍了 如何获取线程名称。

在 一章中介绍了 如何暂时停止执行线程。

一章中介绍了 如何停止线程。

一章中介绍了 如何让一个线程等待另一个线程执行完毕再执行

在 一章中介绍了 如何让一个线程放弃执行权。

一章中介绍了 如何判断一个线程是否存活

在 一章中介绍了 线程的6种状态

在 一章中介绍了 如何设置/获取线程的优先级

在 一章中介绍了 如何将一个线程设置为后台线程

在 一章中介绍了 线程组ThreadGroup

在 一章中介绍了 线程与堆栈信息之间的关系

在 一章中介绍了 当后台线程遇到finally时,finally代码块不会被执行的情况

在 一章中介绍了 synchronized关键字

在 一章中介绍了 同步代码块/方法中的同步锁

在 一章中介绍了 同步代码块中的双重判断

在 一章中介绍了 死锁

在 一章中介绍了 同步方法产生死锁的例子

在 一章中介绍了 同步代码块产生死锁的例子

在 一章中介绍了 饥饿线程(Starvation)

在 一章中介绍了 活锁(Livelock)

在 一章中介绍了 等待唤醒机制

在 一章中介绍了 生产者与消费者线程

在 一章中介绍了 用同步方法来实现生产者与消费者线程例子

在 一章中介绍了 Lock获取lock/释放unlock锁。

在 一章中介绍了 公平锁与非公平锁

在 一章中介绍了 可重入锁与不可重入锁

在 一章中介绍了 Lock尝试获取锁tryLock()方法

在 一章中介绍了 显式锁Lock中的lockInterruptibly()方法:在如果当前线程没被中断,则一直获取锁。

一章中介绍了 显式锁Lock的等待唤醒机制。

一章中介绍了 Condition对象的await()方法与signal()/signalAll()方法

在 一章中介绍了 Condition对象的await​(long time, TimeUnit unit)方法

在 一章中介绍了 Condition对象的awaitNanos​(long nanosTimeout)方法

在 一章中介绍了 Condition对象的awaitUntil​(Date deadline)方法

在 一章中介绍了 Condition对象的awaitUninterruptibly()方法

在 一章中介绍了 Lock与Condition实战项目:从零手写一个线程安全缓冲区

在 一章中介绍了 用显式锁Lock与Condition对象来实现生产者与消费者模型

在 一章中介绍了 读写锁ReadWriteLock

在 一章中介绍了 读锁与写锁之间相互嵌套情况

在 一章中介绍了 可重入读写锁ReentrantReadWriteLock的获取线程与读写锁保持数系列方法

在 一章中介绍了 可重入读写锁ReentrantReadWriteLock的查询是否有线程正在等待获取读写锁hasQueuedThreads()方法、获取有多少个正在等待获取读写锁的线程getQueueLength()方法和查询指定线程是否正在等待获取读写锁的hasQueuedThread(Thread thread)方法。

在 一章中介绍了 可重入读写锁ReentrantReadWriteLock与Condition的关系,在读写锁中,写锁是支持Condition的,读锁是不支持Condition的,原因在于写锁在某一时刻最多只能被一个线程拥有,而读锁在某一时刻最多可以被多个线程拥有,对于读锁而言,其他线程没有必要等待获取读锁,等待唤醒是毫无意义的。

在 一章中介绍了 如何查询Condition上是否有线程正在等待和有多少线程正在等待。用锁的hasWaiters​(Condition condition)方法查询Condition上是否有线程正在等待,再用getWaitQueueLength​(Condition condition)方法获取Condition上等待的线程的个数。

在 一章中介绍了 如何判断任意线程是否已持有写锁。通过ReentrantReadWriteLock的isWriteLocked()方法来判断写锁是否已被任意线程持有。

在 一章中介绍了 如何判断锁是否为公平锁isFair()方法。

在 一章中介绍了 如何使用读写锁实战简易版高并发容器。

在 一章中介绍了 LockSupport的阻塞线程park()方法和唤醒线程unpark()方法

在 一章中介绍了 LockSupport的设置同步对象park​(Object blocker)方法和获取同步对象getBlocker​(Thread t)方法

在 一章中介绍了 LockSupport的超时自动唤醒阻塞线程parkNanos​(long nanos)方法和可设置同步对象的超时自动唤醒阻塞线程parkNanos​(Object blocker, long nanos)方法

在 一章中介绍了 LockSupport的超过截止时间时自动唤醒阻塞线程parkUntil​(long deadline)方法和可设置同步对象的超过截止时间时自动唤醒阻塞线程parkUntil​(Object blocker, long deadline)方法

在 一章中介绍了 线程本地变量ThreadLocal

GitHub

本章程序GitHub地址:

学习小组

加入同步学习小组,共同交流与进步。

  • 方式一:关注头条号Gorhaf,私信“Java学习小组”。
  • 方式二:关注公众号Gorhaf,回复“Java学习小组”。

全栈工程师学习计划

关注我们,加入“全栈工程师学习计划”。

版权声明

原创不易,未经允许不得转载!

文章来源:智云一二三科技

文章标题:“全栈2019”53篇Java多线程学习资料及总结

文章地址:https://www.zhihuclub.com/176780.shtml

关于作者: 智云科技

热门文章

网站地图