java并发
虾米吃螃蟹
这个作者很懒,什么都没留下…
展开
-
Java内存模型
一. 基础 1.java线程间以共享内存的方式交换信息而达到通信目的 2.同步:程序用于控制不同线程之间操作发生相对顺序的机制 3.Java 内存模型的抽象 在java中,所有实例域、静态域和数组元素存储在堆内存中,堆内存在线程之间共享(本文使用“共享变量”这个术语代指实例域,静态域和数组元素)。局部变量 (Local variables),方翻译 2017-07-24 11:45:56 · 173 阅读 · 0 评论 -
volatile关键字
1、jmm(Java内存模型) 原子性、有序性、可见性; 2、在执行程序时为了提高性能,编译器和处理器会对指令做重排序,synchronized可禁止指令重排序,synchronized编译后会在相关位置前加入monitorenter,后加入monitorexit限制其他线程操作,从而保证原子性,同时在monitorexit之前会把共享数据刷回jmm的主内存保证可见性; 3、volatile:原创 2017-10-30 22:24:44 · 167 阅读 · 0 评论 -
java并发之-线程安全性
定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为。 A、线程安全性 一、避免多线程错误方式: 1、不在线程之间共享该状态变量; 2、将状态变量修改为不可变变量; 3、在访问状态变量时使用同步 在线程安全类中封装了必要的同步机制,因此客户端无须进一步采取同原创 2018-06-08 09:51:01 · 113 阅读 · 0 评论