Sobes.tech
Junior — Middle

Πώς υλοποιείται μια δομή δεδομένων Map ασφαλής για νήματα σε ένα περιβάλλον πολλαπλών νημάτων;

sobes.tech AI

Απάντηση από AI

Για την υλοποίηση μιας ασφαλούς για νήματα δομής δεδομένων Map στη 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 προτιμάται γενικά για υψηλό βαθμό ανταγωνιστικότητας.