构建一个hashmap死锁的DEMO

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建一个hashmap死锁的DEMO相关的知识,希望对你有一定的参考价值。

package threadmodle;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

public class ThreadModle {
	public static void main(String[] args) throws InterruptedException {
		final Map<String, String> map = new HashMap<String, String>();
		
		Thread t = new Thread(new Runnable(){
			@Override
			public void run() {
				System.out.println("Run threadID: " + Thread.currentThread().getId());
				for (int i = 0; i < 10000; i++){
					new Thread(new Runnable(){
						@Override
						public void run() {
							map.put(UUID.randomUUID().toString(), UUID.randomUUID().toString());
							System.out.println("Run work threadID: " + Thread.currentThread().getId());
						}
					}, "test" + i).start();;
					
				}
			}
			
		});
		
		System.out.println("Main threadID: " + Thread.currentThread().getId());
		
		t.start();
		t.join();
	}
}

  

以上是关于构建一个hashmap死锁的DEMO的主要内容,如果未能解决你的问题,请参考以下文章

Java并发编程学习9-并发基础Demo

HashMap为啥会死锁

HashMap死锁分析

什么是hashMap,初始长度,高并发死锁,java8 hashMap做的性能提升

写一个java死锁的demo

包含不同片段的HashMap(或ArrayList)