questo è un passaggio da JavaDoc per ConcurrentHashMap
. Dice che le operazioni di recupero generalmente non si bloccano, quindi potrebbero sovrapporsi alle operazioni di aggiornamento. Questo significa che il metodo get()
non è thread-safe?
“Tuttavia, anche se tutte le operazioni sono thread-safe, le operazioni di recupero non comportano il blocco e non c’è alcun supporto per bloccare l’intera tabella in modo da impedirne l’accesso. Questa class è completamente interoperabile con Hashtable nei programmi che si basano su la sua sicurezza del filo ma non i suoi dettagli di sincronizzazione.
- Concetto di Java Multithreading e metodo join ()
- Nelle sezioni critiche di Java, su cosa dovrei eseguire la sincronizzazione?
- Le relazioni avvenute prima con i campi volatili e i blocchi sincronizzati in Java e il loro impatto sulle variabili non volatili?
- C'è un vantaggio nell'usare un metodo sincronizzato invece di un blocco sincronizzato?
- Getter e setter dovrebbero essere sincronizzati?
Le operazioni di recupero (incluso get) generalmente non si bloccano, quindi potrebbero sovrapporsi alle operazioni di aggiornamento (incluse le operazioni di inserimento e rimozione). Retrievals riflette i risultati delle operazioni di aggiornamento completate più recentemente tenendo conto della loro insorgenza. ”