博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
synchronized无法禁止指令重排序的证明
阅读量:4567 次
发布时间:2019-06-08

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

package demo.reorder;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class SynchronizedDemo {    private static volatile int i = 0;    private static volatile int j = 0;            public static void main(String[] args) {        Runnable thread1  = new Runnable() {                        @Override            public void run() {                while(true)                selfPlus();            }        };                Runnable thread2 = new Runnable() {                        @Override            public void run() {                while(true)                print();            }        };                ExecutorService pool = Executors.newFixedThreadPool(2);        pool.execute(thread1);        pool.execute(thread2);        pool.shutdown();    }        public static synchronized void selfPlus() {//        if(i != j)//        System.out.println("selfPlus: i= "+i+" ; j= "+j);        i++;        j++;//        if(i != j)//        System.out.println("selfPlus: i= "+i+" ; j= "+j);    }        public static void print(){        if(i < j)        System.out.println("i= "+i+" ; j= "+j);    }}
View Code

 

转载于:https://www.cnblogs.com/InformationGod/p/9489320.html

你可能感兴趣的文章
cetos 6.3 安装 apache+mysql+php
查看>>
js编写简单的贪吃蛇游戏
查看>>
2018/12/01 一个64位操作系统的实现 第四章 导入kernel.bin(4)
查看>>
如何在windows xp professional安装iis的解决方法
查看>>
抽象类和接口
查看>>
使用ASP.NET Atlas AutoComplete Behavior或AutoComplete Extender实现自动完成功能(下)
查看>>
golang 常见疑惑总结
查看>>
8大你不得不知的Android调试工具
查看>>
pc端元素拖拽
查看>>
Sublime Text3使用Package Control 报错There Are No Packages Available For Installation
查看>>
判断连通图是否有环(并查集)
查看>>
汽车之家面试题2016
查看>>
POJ-数据结构-优先队列模板
查看>>
【HAOI2006】旅行(并查集暴力)
查看>>
css实现文本超出部分省略号显示
查看>>
留言板
查看>>
vue-router组件状态刷新消失的问题
查看>>
Android UI开发第十四篇——可以移动的悬浮框
查看>>
java8的一些用法
查看>>
(十)Hive分析窗口函数(二) NTILE,ROW_NUMBER,RANK,DENSE_RANK
查看>>