验证hashmap非线程安全
2024-08-24 18:12:17
http://www.blogjava.net/lukangping/articles/331089.html
final HashMap<String, String> firstHashMap = new HashMap<String, String>();
Thread t1=new Thread(){
public void run() {
for(int i=0;i<25;i++){
firstHashMap.put(String.valueOf(i), String.valueOf(i));
}
}
}; Thread t2=new Thread(){
public void run() {
for(int j=25;j<50;j++){
firstHashMap.put(String.valueOf(j), String.valueOf(j));
}
}
}; t1.start();
t2.start();
//主线程休眠1秒钟,以便t1和t2两个线程将firstHashMap填装完毕。
Thread.currentThread().sleep(1000);
for(int l=0;l<50;l++){
//如果key和value不同,说明在两个线程put的过程中出现异常。
if(!String.valueOf(l).equals(firstHashMap.get(String.valueOf(l)))){
System.err.println(String.valueOf(l)+":"+firstHashMap.get(String.valueOf(l)));
}
}
最新文章
- AJXA!让体验更美好
- footer置底
- [Solution] Microsoft Windows 服务(2) 使用Topshelf创建Windows服务
- module graceful-fs for npm
- March of the Penguins
- poj2954
- vps使用(centos)
- html to pdf
- WPF使用RoutedCommand自己定义命令
- 【Java入门提高篇】Day14 Java中的泛型初探
- 【STM32H7教程】第13章 STM32H7启动过程详解
- nginx学习笔记(二)
- ionic提示弹框
- oracle忘记密码用户名被锁定_解决方案
- C# Autofac集成之Framework WebAPI
- Linux inotify功能及实现原理【转】
- break与continue关键字的使用
- 八一八android与Linux的关系
- 安装好XAMPP+安装好PhpStorm 然后搭建PHP开发环境
- Eclipse 真机调试检测不到手机解决方案