在并發編程中使用putIfAbsent
方法來向HashMap
中添加鍵值對時,可以通過加鎖或使用ConcurrentHashMap
來確保線程安全。
Map<String, Integer> map = new HashMap<>();
Object lock = new Object();
synchronized(lock) {
if (map.get(key) == null) {
map.put(key, value);
}
}
ConcurrentHashMap
:ConcurrentMap<String, Integer> map = new ConcurrentHashMap<>();
map.putIfAbsent(key, value);
通過使用上述方法,我們可以在并發編程中安全地向HashMap
中添加鍵值對,避免出現線程安全問題。