ConcurrentHashmap打印为空

时间:2019-07-05 12:07:10

标签: java multithreading concurrenthashmap

我正在声明并发哈希表,并在后续线程声明中添加元素。 但是仍然打印空白。 请参见下面的代码:

	public static void main(String[] args) throws InterruptedException {
			
		Employee obj = new Employee();
		
		Map<String, String> myMap = new ConcurrentHashMap<String, String>();
		
		Thread T1 = new Thread(new Runnable() {
			public void run() {
				myMap.put("Los", "angls");
				
			}
		});
		
		Thread T2 = new Thread(new Runnable() {
			public void run() {
				myMap.put("new", "york");
				
			}
		});
	
		T1.start();
		T2.start();

	    System.out.println(myMap);	
		
	}

ConcurrentHashmap在这里有什么用?如果Hashmap和ConcurrentHashmap都可以通过线程添加元素?

1 个答案:

答案 0 :(得分:1)

您正在创建两个Thread对象,这些对象从未启动。您必须先启动它们,然后等待它们完成(例如,通过调用join):

T1.start();
T2.start();

T1.join();
T2.join();