多线程
小手遮天
自己的介绍
展开
-
转载:Java的wait()、notify()学习三部曲之一:JVM源码分析
转载:https://blog.csdn.net/boling_cavalry/article/details/77793224其它参考:https://blog.csdn.net/qq_26222859/article/details/53930941综述Java的wait()、notify()学习三部曲由三篇文章组成,内容分别是:一、通过阅读openjdk8的源码,分析和理解wait,notify在JVM中的具体执行过程;二、修改JVM源码,编译构建成新的JVM,把我们感兴趣的...转载 2020-12-18 15:46:24 · 172 阅读 · 1 评论 -
volatile底层原理
一段代码来演示问题背景 volatile解决内存可见性问题 Java内存模型原子操作 总线加锁太慢?MESI缓存一致性协议(总线嗅探机制) 彻底掌握volatile底层原理1、多线程环境下共享变量的线程安全问题点击运行,会有如下输出:thread1 action...thread2 action...thread2 end可以知道的是,线程1在无限空转,只有当flag=true才会跳出,但是线程2对flag的改变,线程1却感知不到。。。使用top命令也可以看到有一个.转载 2020-12-14 10:23:05 · 162 阅读 · 0 评论 -
深入理解Java内存模型(一)——基础
转载自并发编程网 – ifeve.com本文链接地址:深入理解Java内存模型(一)——基础并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过明...转载 2020-12-14 10:12:16 · 106 阅读 · 0 评论 -
线程六种状态-2020-12-10
ProcessOn画图:线程一共有 6 种状态(NEW、RUNNABLE、BLOCKED、WAITING、 TIME_WAITING、TERMINATED)线程中断/停止:interrupt 方法: 线程中断(中断标识位设置 )C源码 : thread.cppvoid Thread::interrupt(Thread* thread) {trace("interrupt", thread);debug_only(check_for_dangling_th...原创 2020-12-10 16:28:46 · 157 阅读 · 0 评论