当前位置: 首页 > news >正文

深圳给企业做网站淄博seo

深圳给企业做网站,淄博seo,怎么做网站排名靠前,苏州 网站 建设 公司深入理解 Java 中的 volatile 关键字:可见性与有序性的保障 volatile主要做了两个事情可见性保证 和 有序性 可见性保证就是: 对volatile的写操作会对其他线程可见。 简单来说我们A线程的修改了volatile的值,那么我B线程也可以看见。 有序…

深入理解 Java 中的 volatile 关键字:可见性与有序性的保障

volatile主要做了两个事情可见性保证有序性

可见性保证就是: 对volatile的写操作会对其他线程可见。

简单来说我们A线程的修改了volatile的值,那么我B线程也可以看见。

有序性: 有序性就是他确保了一个对volatile之前所有的写操作

简单来说

int a = 0;
volatile int v = 0;
a = 1;
v = 1;

volatile确保了让CPU先执行a=1彻底写进主内存然后在执行v=1

为什么一定要保证有序性?

因为在多线程编程有序性是确保操作按照预期执行的重要机制。

class Example {int a = 0;volatile boolean flag = false;public void writer() {a = 1;           // 1flag = true;     // 2}public void reader() {if (flag) {      // 3int i = a;   // 4// i should be 1}}
}

这个线程一个执行writer方法, 另一个执行reader方法,wirter方法中,写操作a=1操作会在flag=true之前,如果没有volatile的保证,我们的CPU可能会重排序这些操作,可能我们的flag先执行了, 然后在执行v=1;因为我们的编译器和CPU可能会对我们非volatitle变量进行重排序优化性能,所以可能执行的顺序不是我们预期想要的。

如何保证有序性?

volatile是通过内存屏障实现可见性的,。

写屏障

确保我们volatile之前所有写操作都同步到主内存了,同步到主内存就有了可见性了。

读屏障

确保这个读操作回从主内存读到最新的数据。包括在读屏障后的所有代码也会也会从主内存读,哪怕不是volatile

可见性

对volatile变量写操作会立刻刷新到主内存

每次volatile读取都是从主内存读取,而不是线程的缓存

如果我不想从主内存读了或者写进我该怎么办

volatile 适合用于控制标志(flag)变量,这些变量通常用于线程间的简单状态检查和控制。

public class VolatileExample {private volatile boolean flag = false;public void setFlagTrue() {flag = true;}public void doWork() {while (!flag) {// do some work}// flag is true, proceed with next step}
}
http://www.ds6.com.cn/news/80521.html

相关文章:

  • 黑龙江网站开发班级优化大师的功能有哪些
  • 重庆高端网站设计嘉峪关seo
  • 温岭建设公司网站广州市口碑全网推广报价
  • 哪个网站有做阿里巴巴流量关键词优化公司排名榜
  • 长沙seo推广外包网站的优化从哪里进行
  • 上海网站建设哪里好全网营销推广案例
  • 服务器就是一台电脑吗培训seo
  • 百元便宜建站站长工具最近查询
  • 大学 生免费商业网站设计seo的中文含义是
  • 本机iis网站长沙网络营销外包哪家好
  • wordpress分类显示文章西安seo代理
  • 查询网站是否过期seo资源网站 排名
  • wordpress 多人版网站关键词排名手机优化软件
  • 横岗网站建设网站建设方案外包
  • 做商务楼房型图网站惠州seo计费
  • 能领免做卡的网站登录百度账号
  • 做图模板网站有哪些网络项目资源网
  • 用vs2012怎么做网站网站排名首页
  • 建网站流程的费用外贸推广公司
  • 如何查询网站点击量运营和营销是一回事吗
  • 建设网站需求分析seo指的是搜索引擎营销
  • 优质的网站制作淘宝自动推广软件
  • 做网站推广汉狮网络百度做广告费用
  • 织梦cms做网站怎么样交易链接
  • 设计站百度视频下载
  • 中山网站建设怎么样应用商店下载安装
  • wordpress 多站点 独立域名广告投放
  • 网站安全架构免费建网站软件下载
  • 专业网站建设微信官网开发广告投放数据分析
  • 网页设计是什么行业的网站seo外链平台