GUC-1 volatile
2024-10-19 13:31:04
/*
* 一、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;
} }
最新文章
- silverlight使用小计(先做记录后续整理)
- JAVA 中数据库连接的方法之一
- jquery 平滑锚
- ct任务添加与中控机批量后台操作
- 完美完全卸载Oracle 11g数据库
- ubuntu - sudo in php exec
- POJ3071:Football(概率DP)
- ubuntu 安装python,easy_install和pip
- javascript推断的浏览器类型
- JAVA对数据库进行操作,实现数据库中数据的插入,查询,更改,删除操作
- Sublime Text前端开发工具介绍
- Unable to complete the scan for annotations for web application [/wrs] due to a StackOverflowError. Possible root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies.
- Python常见十六个错误集合,你知道那些?
- 【iCore4 双核心板_ARM】例程六:IWDG看门狗实验——复位ARM
- go语言中结构struct
- Springboot中的连接池
- httpclient httpcore jar包及源码
- Linux 下 SSH 远程超时解决方案
- Mina 组件介绍之 IoAcceptor 与 IoConnector
- HDU 2256 Problem of Precision (矩阵快速幂)(推算)
热门文章
- webpack 4.x使用总结
- Codeforces 892 C.Pride
- jsp 项目中 web.xml 的作用
- redis 配置和使用(C++)
- libiop网络库数据结构和基础知识
- is_int is_float 判断数值是否为整数
- duilib 增加gif控件(基于gdi+,可控制播放暂停,自动设置大小)
- SQL Server 2008如何开启数据库的远程连接
- 如何识别字符串是否是UTF-8编码的
- KeyDown,KeyPress和KeyUp详解(转)