![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java并发
yydsit.com
这个作者很懒,什么都没留下…
展开
-
Volatile实践
接着上一篇文章”Java理论与实践:正确使用volatile变量“,因为文章中的代码都是片段代码,无法实践,所以看的似懂非懂;所以对上文中“模式#1:状态标志”和“模式#2:一次性安全发布”进行了代码实践,分如下几部分讲解: - Volatile之Java内存模型概念(参考上一篇文章) - volatile的作用 - 代码实践及问题说明 - 关于“Java理论与实践:正确使用volatile原创 2017-11-29 10:52:22 · 762 阅读 · 0 评论 -
Volatile之Java内存模型概念
本文主要讲解Java内存模型和并发的基础概念,目的是为下文“volatile实践”一文做铺垫。1.内存模型相关概念 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的原创 2017-11-28 17:35:07 · 531 阅读 · 0 评论 -
FutureTask源码分析
FutureTask的类图关系如下 1.Runable与Callablejava.lang.Runnable是一个接口,只有一个run()方法public interface Runnable { public abstract void run(); }run()方法的返回值是void,故在执行完任务后无法返回任何结果 Callable是java.util.concurrent包下的,也是原创 2017-11-29 11:15:26 · 370 阅读 · 0 评论 -
Java理论与实践:正确使用volatile变量
Java™语言包含两种内在的同步机制:同步块(或方法)和volatile变量。这两种机制的提出都是为了实现代码线程的安全性。其中volatile变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的Java理论与实践中,Brian Goetz将介绍几种正确使用volatile变量的模式,并针对其适用性限制提出一些建议。Java语言中的volatile变量可以被看作是一转载 2017-11-20 13:35:19 · 495 阅读 · 0 评论