随笔分类 -  多线程基础

多线程基础知识,多线程入门。
摘要:【Kill Thread Part.2-1】Java内存模型——底层原理 一、什么是“底层原理”?本章研究的内容? 1、从Java代码到CPU指令 从.java文件到.class文件,然后JVM翻译成对应操作系统平台的机器指令。 JVM实现会带来不同的“翻译”,不同的CPU平台的机器指令又千差万别, 阅读全文
posted @ 2022-02-20 17:25 DarkerG 阅读(79) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.3-1】死锁的概念 一、死锁是什么 1、死锁图解 发生在并发中 互不相让:当两个(或更多)线程(或进程)相互持有对方所需要的资源,又不主动释放,导致所有人都无法继续前进,导致程序陷入无尽的阻塞,这就是死锁。 2、死锁的影响 死锁的影响在不同系统中是不一样的,这取决 阅读全文
posted @ 2022-02-05 11:46 DarkerG 阅读(63) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.2-2】volatile、原子性、JMM应用 一、volatile关键字 详解:底层原理 https://zhuanlan.zhihu.com/p/133851347 1、volatile是什么 volatile是一种同步机制,比synchronized或者Loc 阅读全文
posted @ 2022-01-28 12:49 DarkerG 阅读(54) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.1-8】双刃剑:多线程会导致的问题 一共有哪几类线程安全问题? 哪些场景需要额外注意线程安全的问题? 什么事多线程带来的上下文切换? 一、线程安全问题 1、什么是线程安全 通俗的讲: 2、运行结果错误:a++多线程下出现消失的请求现象 ①出错代码 /** * 描述 阅读全文
posted @ 2022-01-26 16:53 DarkerG 阅读(58) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.1-7】线程异常处理知多少? Java异常体系图 实际工作中,如何全局处理异常?为什么要全局处理?不处理行不行? 一、线程未捕获异常UncaughtException应该如何处理? 1、为什么需要UncaughtExceptionHandler? ①主线程可以轻松 阅读全文
posted @ 2022-01-26 14:37 DarkerG 阅读(53) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.1-6】一网打尽线程属性 什么时候我们需要设置守护线程? 我们应该如何应用线程优先级来帮助程序运行?有哪些禁忌? 不同操作系统如何处理优先级问题 一、线程各属性概览 二、线程各个属性 1、线程ID 从小到大 /** * 描述: ID从1开始,JVM运行起来后,我们 阅读全文
posted @ 2022-01-24 18:43 DarkerG 阅读(35) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.1-5】趣解Thread和Object类中线程相关方法 为什么线程通信的方法wait(),notify()和notifyAll()被定义在Object类里?而sleep定义在Thread类里? 用3种方式实现生产者模式 Join和sleep和wait期间线程的状态 阅读全文
posted @ 2022-01-24 16:53 DarkerG 阅读(55) 评论(2) 推荐(0) 编辑
摘要:【Kill Thread】补充:Synchronized的作用 synchronize详解,锁升级 https://blog.csdn.net/lpf463061655/article/details/105149322 一、Synchronized简介 1、Synchronized的作用 通俗易懂 阅读全文
posted @ 2022-01-21 10:49 DarkerG 阅读(46) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.1-4】图解线程生命周期 一、线程的六个状态 1、New 已经创建,但是还没有启动的状态。 通过new Thread()创建线程猴的状态。 2、Runnable 从New状态调用start()方法之后,就会处于Runnable状态了。 可运行状态 有可能正在执行, 阅读全文
posted @ 2022-01-20 15:18 DarkerG 阅读(55) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.1-3】线程停止、中断最佳实践 讲解原理 最佳实践:如何正确停止线程 停止线程的错误方法 重要函数的源码解析 常见的面试问题 一、涵盖内容 二、原理讲解 原理介绍:使用interrupt来通知,而不是强制 我们只能用interrupt来通知线程,你该中断了,但是并 阅读全文
posted @ 2022-01-19 22:16 DarkerG 阅读(115) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.1】启动线程的正确姿势 一、start()和run()的比较 1、测试代码 /** * 描述:对比start和run两种启动线程的方式 */ public class StartAndRunMethod { public static void main(Stri 阅读全文
posted @ 2022-01-18 19:35 DarkerG 阅读(52) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.1】实现多线程的正确姿势 一、实现多线程的方法是1种还是2种还是4种? 1、Oraclle官网文档正确说法:2种 官方文档 方法一:实现Runnable接口 方法二:继承Thread类 2、实现Runnable接口 /** * 描述:用Runnable方式创建线程 阅读全文
posted @ 2022-01-18 17:19 DarkerG 阅读(42) 评论(0) 推荐(0) 编辑
摘要:【Kill Thread Part.1】线程八大核心基础知识 思维导图下载地址: https://darkerg.lanzout.com/iHchHzbfipe 密码:9qom 一、思维导图 阅读全文
posted @ 2022-01-18 16:15 DarkerG 阅读(44) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示