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

河南做网站的网站优化标签

河南做网站的,网站优化标签,什么做直播网站好,网站二级目录jvm线程的内存模型 看图,简单来说线程中操作的变量是副本。在并发情况下,如果数据发生变更,副本的数据就变为脏数据。这个时候就会有并发问题。 参考:https://www.cnblogs.com/yeyang/p/12580682.html 怎么解决并发问题 解决的…

jvm线程的内存模型

看图,简单来说线程中操作的变量是副本。在并发情况下,如果数据发生变更,副本的数据就变为脏数据。这个时候就会有并发问题。

参考:https://www.cnblogs.com/yeyang/p/12580682.html

怎么解决并发问题

解决的方案有两种:

1. 加排它锁,将并发的操作变成串行的操作。

2. 无锁方案:通过cas操作,并保证如果变量发生变更,其它的线程需要立即知道。(java的原子操作类使用的就是这种方案:cas+volatile)

volatile关键字实战

先说结论, 从实战效果上看,whlie循环中的变量是无法感知到其它线程对变量的修改的,但是再加上volatile关键字修饰之后可以感知到。而for循环中即使不加关键字volatile修饰,也是可以感知到变化的。这点在写代码时特别要注意。

测试代码如下:

//结论: while循环的写法,可以反应出变量的可见性问题,for循环的写法不能反应可见性问题
public class Demo {static AtomicLong atomicLong = new AtomicLong(0);public static int a = 0;//public volatile static int a = 0;@SneakyThrowspublic static void main(String[] args) {test03();}//while循环在变量不加volatile关键字修饰时,无法感知到变量变化。public static void test02() throws InterruptedException {Thread thread01 = new Thread(new Runnable() {@SneakyThrows@Overridepublic void run() {System.out.println("test01:"+a);while (true) {if (a >= 2) {System.out.println("我变了");}}}});thread01.start();Thread thread02 = new Thread(new Runnable() {@SneakyThrows@Overridepublic void run() {for(int i=0;i<2;i++){a++;System.out.println("test02:" + a);}}});thread02.start();Thread.sleep(10000);}//for循环即使不加volatile关键字修饰,也可以感知到变量变化。public static void test03() throws InterruptedException {Thread thread01 = new Thread(new Runnable() {@SneakyThrows@Overridepublic void run() {System.out.println("test01:"+a);for(int i=0; i<10000; i++){if (i==0) {Thread.sleep(1000);}if (a >= 2) {System.out.println("我变了");}}}});thread01.start();Thread thread02 = new Thread(new Runnable() {@SneakyThrows@Overridepublic void run() {for(int i=0;i<2;i++){a++;System.out.println("test02:" + a);}}});thread02.start();Thread.sleep(10000);}
}

http://www.yayakq.cn/news/968749/

相关文章:

  • .net网站开发模板常用的软件下载网站
  • 建材装修网站建设整站排名
  • 哪个网站可以代做试题网站权重高 做别的关键词
  • 微信代运营的公司网站简历电商网站开发经验介绍
  • 烟台h5网站制作建筑网入口
  • 汕头网站建设方案书建设银行通控件网站
  • 安阳网站推广优化看广告赚佣金平台
  • 网站怎么做排名呢自己怎么做淘宝网站
  • 建立个人网站需要什么公司网站推广方案模板
  • 开发一个小网站多少钱怎么用php语言做网站
  • 网站设计公司(信科网络)靓号网站开发
  • 网站程序源码济南seo优化外包服务公司
  • 江门网站设计免费的企业宣传模板
  • 培训学校网站自己制作wordpress子主题
  • 什么网站可以接图做图做心悦腾龙光环的网站
  • 网站制作公司违法鹤壁市城乡一体化示范区规划图
  • 静态网站建设课程设计wordpress寺院模板
  • 网站建设 有必要吗济南赢动网站建设
  • 沈阳网站建设技术公司排名wordpress战队模板
  • 如何更改网站标题产品设计公司创业
  • 有人上相亲网站做传销燕窝手机网站生成小程序
  • 济南网站开发企业网络公司手机网站
  • 天津企业做网站网站空间和云服务器
  • 写作网站哪个名声好wordpress gallery widget
  • 建设网站ppt模板网站怎样做的有吸引力
  • 2021半夜好用的网站page n wordpress
  • 金融网站模板免费下载设计坞
  • 栖霞企业网站建设for和wordpress
  • 婚庆网站建设方案简单的网站开发流程图
  • 网站建设的两个方面公司网站开发费用兴田德润官方网站