博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多线程问题(JVM重排序)
阅读量:6504 次
发布时间:2019-06-24

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

public class Test3 {

private static boolean ready;
private static int Number;
private static class ReaderThread extends Thread
{

@Override

public void run() {
if(!ready)
{
Thread.yield();
System.out.println(Number);
}
}
public static void main(String[] args) {
new ReaderThread().start();
Number = 42;
ready = true;
}
}
}

在JVM跑的时候虚拟机会重新对代码进行排序 可能输出空也可能是42,甚至可能永远循环下去(这种成为重排序)

转载于:https://www.cnblogs.com/yaohaitao/p/5669410.html

你可能感兴趣的文章
java处理高并发高负载类网站问题
查看>>
使用C#生成随机密码(纯数字或字母)和随机卡号(数字与字母组合)
查看>>
CAS服务器端集群
查看>>
Android内存泄漏的常见场景及解决方案
查看>>
设计模式 之 访问者模式
查看>>
EasyUI datagrid隐藏<thead>表头
查看>>
用JS获取地址栏参数的方法
查看>>
JAVA Collections框架
查看>>
更改Windwos server 2003 域用户密码策略默认配置
查看>>
网站白名单可行性分析
查看>>
Ruby && Rails开发资源
查看>>
进制转换
查看>>
反转字符串中的单词
查看>>
html与html5的一些区别
查看>>
新博客地址
查看>>
ORACLE数据库中查找重复数据
查看>>
ASCII码
查看>>
java常用四种排序源代码
查看>>
win7 下硬盘安装Redhat7
查看>>
Configuring Zookeeper Cluster
查看>>