`

可见性

 
阅读更多

 

1. 变量声明为 volatile:

           读时:每次都从主内存中读取最新的变量值到工作内存,再进行操作。

           写时:每次写操作都把变量值及时同步到主内存中,以使其它线程及时可见。

 

  当读一个volatile变量时,JMM会把线程对应的本地内存置为无效,线程接下来将从主内存中读取共享变量

     当写一个volatile变量时,JMM会把线程对应的本地内存中的共享变量值刷新到主内存

 利用上面的特性:

    在一个代码块开始:读volatile变量,清空工作内存

    在一人代码块中间:开始某些共享变量的操作,--从主内存读取

    在一个代码块结束:写volatile变量,工作区内存写回主存。

  ---可以实现线程间的可见性,如 Reentrantlock。 

     

     

 

2. synchronized 锁:

    进入synchronized代码块:使用的变量都从主内存中读取到工作内存在再操作。

   退出synchronized代码块:变更的变量值都 刷回主内存。 

   即synchronized 保证了可见性。

分享到:
评论

相关推荐

    PostgreSQL 行可见性验证

    PostgreSQL行可见性验证是数据库管理系统中的一个重要概念,它关系到数据库事务的一致性、隔离性以及并发控制。以下将详细介绍PostgreSQL中行可见性验证的相关知识点。 首先,了解事务ID(Transaction ID)和元组...

    vulkan 可见性剔除算法

    在大型3D场景中,可见性剔除(Visibility Culling)是一项关键技术,它有助于减少渲染计算量,提高性能。通过剔除那些在相机视野之外或被其他物体遮挡的物体,可以显著降低GPU的负担。 Vulkan 中的可见性剔除通常...

    silverlight实例:图层可见性控制

    在本文中,我们将深入探讨Silverlight中的图层可见性控制技术。Silverlight是微软开发的一个强大的Web应用程序框架,它允许开发者创建丰富的、交互式的多媒体内容。在这个实例中,我们将学习如何利用Silverlight来...

    蓝牙Demo(设置蓝牙可见性 扫描周围蓝牙)

    在本示例"蓝牙Demo(设置蓝牙可见性 扫描周围蓝牙)"中,我们将探讨如何通过编程实现蓝牙设备的可见性设置以及扫描周围可用的蓝牙设备。 首先,蓝牙设备的可见性是指该设备是否允许其他蓝牙设备发现它。在Android...

    增长的需求可见性对生产和库存控制效率的影响

    标题中的“增长的需求可见性对生产和库存控制效率的影响”是一个重要的管理学概念,尤其是在现代商业环境中,企业需要更好地理解和预测市场需求以优化生产计划和库存管理。需求可见性是指企业能够准确、实时地了解...

    JQ 可见性过滤选择器

    本篇文章将深入探讨jQuery中的一个关键功能——可见性过滤选择器,它允许我们根据元素的可见状态来选择和操作DOM元素。通过了解这个功能,我们可以更高效地控制页面上的元素显示和隐藏。 首先,`:visible`和`:...

    基于顶点可见性的凹多边形快速凸分解算法

    本文提出了一种新的局部搜索方法,这一方法基于多边形顶点的可见性。顶点可见性是指从多边形的某个点出发,可以观察到的其它顶点的特性。利用凹点的局部几何特性,我们通过引入权函数从凹点的可见点集中选取适当的点...

    jquery可见性过滤选择器使用示例

    今天我们将深入探讨一个特定的jQuery功能——可见性过滤选择器。这些选择器允许我们根据元素的可见状态来选取DOM中的节点,从而实现更加精细化的操作。 首先,jQuery提供了两种主要的可见性过滤选择器:`:visible` ...

    多视纹理映射中无需设定偏差的快速可见性检测.docx

    在多视纹理映射中,可见性检测是一个关键步骤,它确保了模型表面只映射到实际可见的纹理,从而避免了自遮挡区域的错误纹理贴图。传统的Z缓冲区算法和光线追踪算法虽然常用,但它们的精度受到人为设定的偏差影响,...

    【带运行效果录屏】卫星可见性计算(基于STK Components组件编程).zip

    在本项目中,我们主要探讨的是如何利用STK Components组件编程来实现卫星可见性计算。STK (System Tool Kit) 是一款强大的航天器动力学、通信、光学等领域的仿真工具,而STK Components则提供了丰富的接口和控件,...

    基于STK与Matlab相结合的卫星对目标的可见性分析.rar

    《基于STK与Matlab相结合的卫星对目标的可见性分析》 在现代航天领域,卫星对地目标的可见性分析是一项至关重要的任务,它涉及到卫星任务规划、通信链路设计以及遥感图像获取等多个方面。本资料主要探讨了如何利用...

    Java可见性学习

    java语言中可见性方面的描述。对初学者有一定的帮助!

    安卓wifi蓝牙相关-蓝牙Demo设置蓝牙可见性扫描周围蓝牙.rar

    本文将深入探讨如何在Android系统中设置蓝牙的可见性和扫描周围蓝牙设备,这正是“蓝牙Demo(设置蓝牙可见性 扫描周围蓝牙.rar”这个压缩包文件所涉及的主题。 首先,让我们了解Android中的蓝牙API。Android提供了...

    U盘文件夹恢复组合,恢复文件夹可见性真实性

    U盘文件夹恢复组合,恢复文件夹可见性真实性 里面的程序和批处理都是自己写的 用于自动恢复U盘被病毒伪装隐藏的文件夹 会自动删除U盘下的可执行文件,一般是病毒感染过的 所以如果那些可执行文件不重要的话才运行,...

    三种继承方式下基类成员对派生类的可见性探讨

    三种继承方式下基类成员对派生类的可见性探讨(公有继承、私有继承、受保护继承)

    基于STK_Matlab的航天器可见性仿真分析.pdf

    标题和描述中提到的知识点集中在使用STK(Satellite Tool Kit,卫星工具包)和Matlab进行航天器可见性仿真分析。STK是一款在航天领域中广泛使用的工具,主要用于卫星系统的仿真和分析,可以提供卫星的二维和三维可视...

Global site tag (gtag.js) - Google Analytics