博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GUC-1 volatile
阅读量:4561 次
发布时间:2019-06-08

本文共 956 字,大约阅读时间需要 3 分钟。

 

/* * 一、volatile 关键字:当多个线程进行操作共享数据时,可以保证内存中的数据可见。 *                       相较于 synchronized 是一种较为轻量级的同步策略。 *  * 注意: * 1. volatile 不具备“互斥性” * 2. volatile 不能保证变量的“原子性” */public class TestVolatile {        public static void main(String[] args) {        ThreadDemo td = new ThreadDemo();        new Thread(td).start();                while(true){            if(td.isFlag()){                System.out.println("------------------");                break;            }        }            }}class ThreadDemo implements Runnable {    private volatile boolean flag = false;    @Override    public void run() {                try {            Thread.sleep(200);        } catch (InterruptedException e) {        }        flag = true;                System.out.println("flag=" + isFlag());    }    public boolean isFlag() {        return flag;    }    public void setFlag(boolean flag) {        this.flag = flag;    }}

 

转载于:https://www.cnblogs.com/surge/p/10476214.html

你可能感兴趣的文章
shiro设置加密算法源码解析
查看>>
第二次冲刺
查看>>
实验四
查看>>
win8.1镜像制作
查看>>
Windows 服务开发框架介绍 - Topshelf
查看>>
php,字符串(二)
查看>>
easyui validatebox 验证类型
查看>>
编程迷茫时候看一看
查看>>
“ORA-00913: 值过多”、“ORA-00911: 无效字符”
查看>>
编程中的那些容易迷糊的小知识
查看>>
Sizzle前奏
查看>>
Paint Chain HDU - 3980(sg)
查看>>
Chales常用操作
查看>>
C++ 运算符重载<<
查看>>
windows镜像
查看>>
Flask 模板语法
查看>>
spark-2.2.0安装和部署——Spark集群学习日记
查看>>
ZOJ FatMouse' Trade 贪心
查看>>
音乐播放器
查看>>
SQL COOKBOOK (Ch.1-10)
查看>>