Java线程
A_lele123
这个作者很懒,什么都没留下…
展开
-
理解ThreadLocal
早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVari转载 2015-01-12 14:58:54 · 592 阅读 · 0 评论 -
JAVA多线程与并发学习总结
1. 计算机系统使用高速缓存来作为内存与处理器之间的缓冲,将运算需要用到的数据复制到缓存中,让计算能快速进行;当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存读写了。缓存一致性:多处理器系统中,因为共享同一主内存,当多个处理器的运算任务都设计到同一块内存区域时,将可能导致各自的缓存数据不一致的情况,则同步回主内存时需要遵循一些协议。乱序执行优化:转载 2013-12-19 09:42:39 · 835 阅读 · 0 评论 -
volatile关键字实现原理
在CPU计算时,需要将数据从主存经过PC总线拷贝到寄存器中进行运算,那么Java中的volatile关键字实现原理是什么呢?volatile的两层语义1、不同线程间的内存可见性2、禁止指令重排序对于内存可见性比较好理解,这里针对指令冲排序简单解释指令重排序:在JDK中,JAVA语言为了维持顺序内部的顺序化语义,也就是为了保证程序的最终运行结果需要和在单线程严原创 2017-12-13 16:55:52 · 711 阅读 · 1 评论