共享hashmap实操
时间: 2023-11-28 15:43:14 浏览: 51
共享HashMap是指多个线程同时访问同一个HashMap实例。由于HashMap是非线程安全的,因此在多线程环境下,需要采取一些措施来保证线程安全。
下面是一个简单的共享HashMap实操示例:
```java
import java.util.HashMap;
import java.util.Map;
public class SharedHashMapDemo {
private static Map<String, Integer> sharedMap = new HashMap<>();
public static void main(String[] args) {
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10000; i++) {
synchronized (sharedMap) {
sharedMap.put("key" + i, i);
}
}
}
});
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10000; i++) {
synchronized (sharedMap) {
sharedMap.put("key" + i, i);
}
}
}
});
t1.start();
t2.start();
try {
t1.join();
t2.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("共享HashMap实操完成!");
}
}
```
在上面的示例中,我们创建了一个共享的HashMap实例,并启动了两个线程来同时向其中添加元素。由于HashMap是非线程安全的,因此我们使用synchronized关键字来保证线程安全。
阅读全文