文档章节

volatile / synchronized

t_yapeng
 t_yapeng
发布于 2017/07/04 20:10
字数 109
阅读 6
收藏 0

Volatile

一个变量声明成 volatile,Java内存模型确保所有线程看到这个变量的值的是一致的。

Synchronized

java中每一个对象都可以作为锁。

1、对于普通方法、锁是当前实例对象。

2、对于静态同步方法,锁是当前类。

3、对于同步代码块,锁是Synchnoized括号里匹配的对象。

Synchronized使用的锁存在java对象头里

 

© 著作权归作者所有

共有 人打赏支持
t_yapeng
粉丝 3
博文 105
码字总数 30194
作品 0
Android工程师
Java 多线程:关键字 synchronized 和 volatile

关键字volatile是线程同步的轻量级实现,所以volatile性能比synchronized要好,volatile智能修饰变量,而synchronized可以修饰方法以及代码块。随着JDK新版发布,synchronized关键字在执行效...

JianF
2016/12/16
16
0
java 里面保留字volatile及其与synchronized的区别

最近在读java并发编程相关的书籍,蚂蚁金服团队的杰作,可以好好把java并发相关的内容好好研究一下 要理解volatile和synchronized的区别,首先还是需要来理解下java的内存模型 java内存模型 ...

十二缸帕萨特
2015/10/09
267
0
volatile关键字解析~高级java必问

昨天我介绍了原子性、可见性、有序性的概念,那么今天就来见识下这些概念的主角-volatile关键字。 volatile基本介绍 volatile可以看成是synchronized的一种轻量级的实现,但volatile并不能完...

java技术栈
2017/08/13
0
0
多线程学习笔记(十二)

volatile的作用是使变量在多个线程间可见 1.死循环 public class PrintInfo implements Runnable { } public class Run { PrintInfo printInfo = new PrintInfo();printInfo.printInfo();Sy......

scymore
2016/09/13
43
0
volatile 和 synchronized 的比较

1,volatile 它所修饰的变量不保留拷贝,直接访问主内存中的。 在 Java 内存模型中,有 main memory,每个线程也有自己的 memory (例如寄存器)。为了性能,一个线程会在自己的 memory 中保持...

几个栗子
2017/11/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SQL count(*) 和count(1)的区别

开发中经常会使用这两个聚合函数,作用都是用来统计记录行,今天查找资料发现,其实这两个函数并没有区别, 实践才是检验的标准,首先看执行计划(表是我自己建立的): 可以看到,两个执行计...

一曲图森破
19分钟前
1
0
ppwjs之bootstrap文字排版:字体设置

<!DOCTYPT html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ppwjs欢迎您</title><link rel="icon" href="/favicon.ico" ......

ppwjs
22分钟前
1
0
区块链100讲:详解区块链之P2P网络

1 P2P网络 如果我们简单来看 P2P 技术,它的应用领域已经非常广泛了,从流媒体到点对点通讯、从文件共享到协同处理,多种领域都有它的身影出现。 同样的,P2P 的网络协议也有很多,比较常见的...

HiBlock
37分钟前
0
0
74.expect脚本同步文件以及指定host同步文件 构建分发系统文件和命令

20.31 expect脚本同步文件: 在expect脚本中去实现在一台机器上把文件同步到另外一台机器上去。核心命令用的是rsync ~1.自动同步文件 #!/usr/bin/expect set passwd "123456" spawn rsync -a...

王鑫linux
今天
1
0
TypeScript项目引用(project references)

转发 TypeScript项目引用(project references) TypeScript新特性之项目引用(project references) 项目引用是TypeScript 3.0中的一项新功能,允许您将TypeScript程序构建为更小的部分。 通过这...

durban
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部