线程不安全代码测验

private static class UnsafeSequence { private int value; public int getNext() { return value++; } } 使用两个线程分别调用上面的getNext方法1000次,出现了一次线程不安全的情况,在转出的结果中有两个1311:

图片.png

原因剖析,与书上说的一致:

图片.png

完好的代码

import java.io.PrintWriter; import java.util.concurrent.CountDownLatch; /** * Created by luohao07 on 2018/1/2. */ public class UnsafeSequenceTest { public static void main(String[] args) throws Exception{ UnsafeSequence unsafeSequence = new UnsafeSequence(); PrintWriter out = new PrintWriter("out.txt"); CountDownLatch countDownLatch = new CountDownLatch(2); new Thread() { @Override public void run() { for (int i = 0; i < 1000; i++) { out.println(unsafeSequence.getNext() + " T1"); } countDownLatch.countDown(); } }.start(); new Thread() { @Override public void run() { for (int i = 0; i < 1000; i++) { out.println(unsafeSequence.getNext()+" T2"); } countDownLatch.countDown(); } }.start(); countDownLatch.await(); out.flush(); out.close(); } private static class UnsafeSequence { private int value; public int getNext() { return value++; } }} Timer执行定时使命

public class TimerTest { public static void main(String[] args) { Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { System.out.println("invoke...."); } }, new Date(System.currentTimeMillis() + 5000)); }} 程序启动后5秒输出invoke....

JAVA交流学习

每天干货分享

长按扫码关注我们

java并发编程实战源码_java并发编程实战(附源码)相关推荐

  1. 01 【Verilog实战】同步FIFO的设计(附源码RTL/TB)

    虚拟机:VMware -14.0.0.24051 环 境:ubuntu 18.04.1 脚 本:makefile(点击查看) 应用工具:vcs 和 verdi 写在前面 这个专栏的内容记录的是个人学习 ...

  2. Java毕设项目菜鸟驿站快递分发系统计算机(附源码+系统+数据库+LW)

    Java毕设项目菜鸟驿站快递分发系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...

  3. Java毕设项目校园外卖系统Web端计算机(附源码+系统+数据库+LW)

    Java毕设项目校园外卖系统Web端计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...

  4. java计算机毕业设计ssm社区团购系统13kbd(附源码、数据库)

    java计算机毕业设计ssm社区团购系统13kbd(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...

  5. java计算机毕业设计广东省梅州市宇恒节能科技有限公司(附源码、数据库)

    java计算机毕业设计广东省梅州市宇恒节能科技有限公司(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...

  6. Java毕设项目餐厅线上点菜系统计算机(附源码+系统+数据库+LW)

    Java毕设项目餐厅线上点菜系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...

  7. JAVA计算机毕业设计东理咨询交流论坛计算机(附源码、数据库)

    JAVA计算机毕业设计东理咨询交流论坛计算机(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...

  8. Java毕设项目东理咨询交流论坛计算机(附源码+系统+数据库+LW)

    Java毕设项目东理咨询交流论坛计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...

  9. java计算机毕业设计高校体育器材及场地管理(附源码、数据库)

    java计算机毕业设计高校体育器材及场地管理(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...

  10. java计算机毕业设计高校教师个人主页网站设计与实现(附源码、数据库)

    java计算机毕业设计高校教师个人主页网站设计与实现(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ E ...

最新文章

  1. mac 安装swoole
  2. python数据类型描述_【文山玩Python】用python的数据类型,来简单的描述世界
  3. python decimal_【进阶】嫌弃Python慢,试试这几个方法?
  4. [古诗十九首] 西北有高楼 —— 无名氏
  5. webstorm代码行数统计_来测试下 2019 你一共写了多少行代码?
  6. Tomcat学习总结(20)—— Tomcat启动脚本收藏
  7. 反射获取类_新人也能看懂?如何使用 Java 反射?反射的用法及案例
  8. 中国天花灯市场趋势报告、技术动态创新及市场预测
  9. mysql利用init-connect增加访问审计功能的实现
  10. winxp 升级远程连接方法
  11. HTML基础入门 第1天课堂笔记
  12. [CSP-S模拟测试]:跳房子(模拟)
  13. [转载]MIT人工智能实验室:如何做研究
  14. idel安装lombok插件安装
  15. JESD204B IP核的配置与使用
  16. Vulnhub靶场篇:SkyDogConCTF2016
  17. charles安卓手机抓包
  18. 数据库练习(学生、课程、选课关系)
  19. iOS_预编译(宏)#if #ifdef #ifndef #elif #else #endif
  20. fmri与GLM应用

热门文章

  1. Linux属于开放代码,下面()操作系统是开放源代码的。
  2. EXCEL图表技巧:选择合适图表最全指南,建议收藏
  3. MySQL客户端安装
  4. java 对错代厔_如何获得汉字拼音的首字母序列
  5. 区块链技术指南pdf
  6. MFC学习--文本框
  7. Java实现阶乘的计算(四种方法)
  8. 【软考软件评测师】2018综合知识历年真题
  9. 如何在Java语言编程中,如何输入一个char型字符
  10. Effective Java 思维导图