java并发编程实战源码_java并发编程实战(附源码)
线程不安全代码测验
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并发编程实战(附源码)相关推荐
- 01 【Verilog实战】同步FIFO的设计(附源码RTL/TB)
虚拟机:VMware -14.0.0.24051 环 境:ubuntu 18.04.1 脚 本:makefile(点击查看) 应用工具:vcs 和 verdi 写在前面 这个专栏的内容记录的是个人学习 ...
- Java毕设项目菜鸟驿站快递分发系统计算机(附源码+系统+数据库+LW)
Java毕设项目菜鸟驿站快递分发系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...
- Java毕设项目校园外卖系统Web端计算机(附源码+系统+数据库+LW)
Java毕设项目校园外卖系统Web端计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...
- java计算机毕业设计ssm社区团购系统13kbd(附源码、数据库)
java计算机毕业设计ssm社区团购系统13kbd(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...
- java计算机毕业设计广东省梅州市宇恒节能科技有限公司(附源码、数据库)
java计算机毕业设计广东省梅州市宇恒节能科技有限公司(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...
- Java毕设项目餐厅线上点菜系统计算机(附源码+系统+数据库+LW)
Java毕设项目餐厅线上点菜系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...
- JAVA计算机毕业设计东理咨询交流论坛计算机(附源码、数据库)
JAVA计算机毕业设计东理咨询交流论坛计算机(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...
- Java毕设项目东理咨询交流论坛计算机(附源码+系统+数据库+LW)
Java毕设项目东理咨询交流论坛计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...
- java计算机毕业设计高校体育器材及场地管理(附源码、数据库)
java计算机毕业设计高校体育器材及场地管理(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...
- java计算机毕业设计高校教师个人主页网站设计与实现(附源码、数据库)
java计算机毕业设计高校教师个人主页网站设计与实现(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ E ...
最新文章
- mac 安装swoole
- python数据类型描述_【文山玩Python】用python的数据类型,来简单的描述世界
- python decimal_【进阶】嫌弃Python慢,试试这几个方法?
- [古诗十九首] 西北有高楼 —— 无名氏
- webstorm代码行数统计_来测试下 2019 你一共写了多少行代码?
- Tomcat学习总结(20)—— Tomcat启动脚本收藏
- 反射获取类_新人也能看懂?如何使用 Java 反射?反射的用法及案例
- 中国天花灯市场趋势报告、技术动态创新及市场预测
- mysql利用init-connect增加访问审计功能的实现
- winxp 升级远程连接方法
- HTML基础入门 第1天课堂笔记
- [CSP-S模拟测试]:跳房子(模拟)
- [转载]MIT人工智能实验室:如何做研究
- idel安装lombok插件安装
- JESD204B IP核的配置与使用
- Vulnhub靶场篇:SkyDogConCTF2016
- charles安卓手机抓包
- 数据库练习(学生、课程、选课关系)
- iOS_预编译(宏)#if #ifdef #ifndef #elif #else #endif
- fmri与GLM应用