![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 89
Gabriel8304
这个作者很懒,什么都没留下…
展开
-
volatile作用与处理器嗅探的简解
先贴一下 volatile 的作用定义如果一个字段被声明成volatile,Java线程内存模型确保所有线程看到这个变量的值是一致的首先问题就来了,一个共享变量再被volatile修饰过后,怎么被确保所有线程看到的这个变量的值是一致的的呢,也就是说volatile是如何来保证可见性的呢?在X86处理器下通过工具获取JIT编译器生成的汇编指令来查看对volatile进行写操作时,CPU会做什么事情。private volatile instance = new Singleton();转载 2021-03-30 13:48:20 · 401 阅读 · 0 评论 -
AtomicInteger原理
java的并发原子包里面提供了很多可以进行原子操作的类,比如:AtomicInteger AtomicBoolean AtomicLong AtomicReference等等,一共分为四类:原子更新基本类型(3个)、原子更新数组、原子更新引用和原子更新属性(字段)。、提供这些原子类的目的就是为了解决基本类型操作的非原子性导致在多线程并发情况下引发的问题。那么非原子性的操作会引发什么问题...转载 2019-08-15 15:27:02 · 322 阅读 · 0 评论 -
AtomicInteger、Unsafe类、ABA问题
参考:https://blog.csdn.net/u013278314/article/details/83210710AtomicIntegerJava中的AtomicInteger大家应该很熟悉,它是为了解决多线程访问Integer变量导致结果不正确所设计的一个基于多线程并且支持原子操作的Integer类。AtomicInteger内部有一个变量UnSafe:private...转载 2019-08-15 13:10:22 · 156 阅读 · 0 评论 -
启动一个最简单的Java main程序时,有多少个线程被创建
参考:https://www.zhihu.com/question/59297272https://www.cnblogs.com/z00377750/p/9183179.htmlhttp://ifeve.com/jvm-thread/https://docs.oracle.com/cd/E13188_01/jrockit/docs50/userguide/apstkdmp.html...原创 2019-08-15 11:02:10 · 1272 阅读 · 0 评论 -
线程的生命周期和状态转换
参考:https://www.cnblogs.com/albertrui/p/8383799.html线程的生命周期分为new、runnable、running、blocked、terminated五种状态。new:新建状态,当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时仅由JVM为其分配内存,并初始化其成员变量的值runnable:就绪状态,当线程对象调用...原创 2019-07-01 10:13:02 · 275 阅读 · 0 评论 -
关于sleep和wait
参考:https://mp.weixin.qq.com/s/ohcr6T1aB7-lVFJIfyJZjAhttps://www.jianshu.com/p/b8073a6ce1c0https://www.cnblogs.com/tiancai/p/8855125.htmlhttps://www.cnblogs.com/wzdnwyyu/p/11152571.htmlhttps://...原创 2019-07-25 07:25:47 · 321 阅读 · 0 评论 -
上下文切换详解
转自:http://ifeve.com/context-switch-definition/http://www.linfo.org/context_switch.html 原文地址,译文地址,译者: 董明鑫,校对:郑旭东上下文切换(有时也称做进程切换或任务切换)是指 CPU 从一个进程或线程切换到另一个进程或线程。进程(有时候也称做任务)是指一个程序运行的实例。在 Linux ...转载 2018-10-12 23:10:08 · 2050 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
转自:http://www.cnblogs.com/dolphin0520/p/3920373.html其他文章:http://www.cnblogs.com/paddix/p/5428507.htmlhttps://www.cnblogs.com/chenssy/p/6379280.html volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之...转载 2018-07-19 16:40:08 · 141 阅读 · 0 评论 -
聊聊并发(二)Java SE1.6中的Synchronized
转自:http://ifeve.com/java-synchronized/ 原文发表于InfoQ:http://www.infoq.com/cn/articles/java-se-16-synchronized1 引言在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有...转载 2018-07-19 18:07:42 · 138 阅读 · 0 评论 -
聊聊并发(五)原子操作的实现原理
转自:http://ifeve.com/atomic-operation/ 1 引言原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。在多处理器上实现原子操作就变得有点复杂。本文让我们一起来聊一聊在Inter处理器和Java里是如何实现原子操作的。 2 术语定义术语名称 ...转载 2018-07-19 18:05:05 · 176 阅读 · 0 评论