自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

转载 并发编程四:synchronized关键字

并发编程四:synchronized关键字概念在上篇文章介绍Volatile关键字的时候提到,synchronized 可以保障原子性和可见性。因为 synchronized 无论是同步的方法还是同步的代码块,都会先把主内存的数据拷贝到工作内存中,同步代码块结束,会把工作内存中的数据更新到主内存中,这样主内存中的数据一定是最新的。更重要的是禁用了乱序重组以及保证了值对存储器的写入,这样就可以保...

2020-04-07 18:27:17 97

原创 并发编程三:volatile关键字

并发编程二:volatile关键字1.作用用来修饰被不同线程访问和修改的变量。2.volatile关键字的语义一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了以下语义:保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。禁止了指令重排,保证了有序性不保证原子性先看一段代码,假如线程1先...

2020-04-07 17:51:12 113

原创 并发编程二:JMM的三大特性

并发编程二:JMM的三大特性1.原子性指一个操作是不可中断的,即使是多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰,要么全成功,要么全失败。Java 内存模型保证了 read、load、use、assign、store、write、lock 和 unlock 操作具有原子性,例如对一个 int 类型的变量执行 assign 赋值操作,这个操作就是原子性的。但是 Java 内存...

2020-04-07 12:14:06 237

转载 并发编程一:JMM内存模型

并发编程一:JMM内存模型一、什么是JMM模型Java内存模型(即Java Memory Model,简称JMM)本身是一种抽象的概念,是一种规范,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。由于JVM运行程序的实体是线程,而每个线程创建时JVM都会为其创建一个工作内存(有些地方称为栈空间),用于存储线程私...

2020-04-07 11:11:20 131

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除