您的位置:首页 > 新闻 > 资讯 > 建站公司一般用什么框架_网站制作公司司_哪家公司建设网站好_windows优化大师在哪里

建站公司一般用什么框架_网站制作公司司_哪家公司建设网站好_windows优化大师在哪里

2025/3/9 23:04:36 来源:https://blog.csdn.net/weixin_46028606/article/details/143458354  浏览:    关键词:建站公司一般用什么框架_网站制作公司司_哪家公司建设网站好_windows优化大师在哪里
建站公司一般用什么框架_网站制作公司司_哪家公司建设网站好_windows优化大师在哪里

文章目录

  • volatile的作用
    • 1.改变线程间的变量可见性
    • 2.禁止指令重排序
  • 参考的学习视频

volatile的作用

1.改变线程间的变量可见性

每个线程都有一个专用的工作集内存,下图里面粉色的表示专用工作集内存,黄色的是共享内存工作区,如果加入了volatile,那么t1也会去查看黄色的共享内存工作区,以及时查看volatile变量的变化,这就是改变了“线程间的变量可见性”!
i修改之前:(不管有没有volatile的情况)
在这里插入图片描述
i没有volatile并且修改之后:
在这里插入图片描述
i有volatile并且修改之后:
在这里插入图片描述

在这里插入图片描述

import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;public class Main {
//    volatile int i = 1;int i = 1;void task1() {System.out.println("开始");while (i == 1){}System.out.println("结束");}public static void main(String[] args) {Main main = new Main();new Thread(main::task1).start();try {TimeUnit.SECONDS.sleep(2   );} catch (Exception e) {e.printStackTrace();}main.i = 2;}
}

如何针对“线程不可见性”进行解决问题?
加入volatile修饰即可!

import java.util.HashMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;public class Main {volatile int i = 1;
// int i = 1;void task1() {System.out.println("开始");while (i == 1){}System.out.println("结束");}public static void main(String[] args) {Main main = new Main();new Thread(main::task1).start();try {TimeUnit.SECONDS.sleep(2   );} catch (Exception e) {e.printStackTrace();}main.i = 2;}
}

2.禁止指令重排序

这里不细说展开,直接给黑马学习视频链接,他讲解的十分清晰!!!看多几遍就好了!!!
【新版Java面试专题视频教程,java八股文面试全套真题+深度详解(含大厂高频面试真题)】 https://www.bilibili.com/video/BV1yT411H7YK/?p=99&share_source=copy_web&vd_source=afbacdc02063c57e7a2ef256a4db9d2a
在这里插入图片描述

参考的学习视频

【【java并发】5分钟快速了解volatile关键字,上岸大厂有保证。】 https://www.bilibili.com/video/BV1WC4y1y7na/?share_source=copy_web&vd_source=afbacdc02063c57e7a2ef256a4db9d2a
2.
【新版Java面试专题视频教程,java八股文面试全套真题+深度详解(含大厂高频面试真题)】 https://www.bilibili.com/video/BV1yT411H7YK/?p=99&share_source=copy_web&vd_source=afbacdc02063c57e7a2ef256a4db9d2a

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com