Domanda

Sono corretto nel dire che un Hashtable .Net non è sincronizzato mentre un Hashtable Java è? E allo stesso tempo una HashMap Java non è sincronizzata e ha prestazioni migliori?

Sto riscrivendo un'app Java che fa un uso intensivo di HashMaps in C # e vorrei usare una HashTable e assicurarmi che le prestazioni siano sostanzialmente equivalenti.

È stato utile?

Soluzione

Penso che quello che stai chiedendo sia se HashMaps in Java e HashTables in C # agiscono all'incirca allo stesso modo e tu sia in gran parte corretto dal punto di vista delle prestazioni. Gli HashMap che ricordo non si lamentano se si inseriscono chiavi duplicate, mentre HashTable in C # lo farà.

Altri suggerimenti

Per impostazione predefinita, .NET Hashtables non è sincronizzato, ma è possibile creare un wrapper sincronizzato attorno a uno, in questo modo:

Hashtable myHash = Hashtable.Synchronized(new Hashtable());
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top