Junior — Middle
Чӣ гуна сохтори маълумоти Map бехатар барои сӯрохиҳо дар муҳити бисёрсӯрохиҳо амалӣ кардан мумкин аст?
sobes.tech AI
Ҷавоб аз AI
Барои татбиқи сохтори маълумоти бехатар барои ҷараён дар Java, шумо метавонед синфи ConcurrentHashMap-ро аз баста java.util.concurrent истифода баред. Он дастрасӣ ва тағиротро самаранок дар муҳити бисёрҷараён таъмин мекунад, бидуни ниёз ба синхронизатсияи беруна.
Маслиҳат барои истифода:
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
// Илова кардани унсур
map.put("key", 1);
// Гирифтани унсур
Integer value = map.get("key");
// Навсозии бехатарии арзиш
map.computeIfPresent("key", (k, v) -> v + 1);
Алтернатива, шумо метавонед Collections.synchronizedMap(new HashMap<>())-ро истифода баред, аммо ConcurrentHashMap одатан барои рақобати баландтар интихоб мешавад.