本篇文章给大家分享的是有关java中怎么对指令进行重新排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
指令重排序是个比较复杂、觉得有些不可思议的问题,同样是先以例子开头(建议大家跑下例子,这是实实在在可以重现的,重排序的概率还是挺高的),有个感性的认识
public class SimpleHappenBefore { private static int a=0; private static boolean flag=false; public static void main(String[] args) throws InterruptedException { //由于多线程情况下未必会试出重排序的结论,所以多试一些次 for(int i=0;i<1000;i++){ ThreadA threadA=new ThreadA(); ThreadB threadB=new ThreadB(); threadA.start(); threadB.start(); //这里等待线程结束后,重置共享变量,以使验证结果的工作变得简单些. threadA.join(); threadB.join(); a=0; flag=false; } } static class ThreadA extends Thread{ public void run(){ a=1; flag=true; } } static class ThreadB extends Thread{ public void run(){ if(flag){ a=a*1; } if(a==0){ System.out.println("ha,a==0"); } } }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机java中怎么对指令进行重新排序
后端开发2023-05-31
怎么在java中对Sorted进行排序
后端开发2023-06-14
java怎么对list进行排序
后端开发2023-09-14
怎么在java中对数组进行排序
后端开发2023-06-14
怎么在java中对集合进行排序
后端开发2023-06-14
Java项目中怎么对Map进行排序
后端开发2023-05-31
怎么在Java中对多线程进行排序
后端开发2023-06-14
Oracle中怎么对VARCHAR列进行排序
后端开发2024-04-09
mysql中怎么对数据进行排序
后端开发2024-04-09
MySQL中怎么对表格进行排序
后端开发2024-04-09
怎么在python中对series进行排序
后端开发2023-06-14
PHP中怎么对数组进行降序排序
后端开发2023-06-20
Java 中如何对集合进行排序
后端开发2023-09-25
咦!没有更多了?去看看其它编程学习网 内容吧