Вопрос

Правильно ли я сказал, что .Net Hashtable не синхронизируется, а Java Hashtable работает? И в то же время Java HashMap не синхронизируется и имеет лучшую производительность?

Я переписываю приложение Java, которое интенсивно использует HashMaps в C #, и я хотел бы использовать HashTable и убедиться, что производительность в основном эквивалентна.

Это было полезно?

Решение

Я думаю, что вы спрашиваете, если HashMaps в Java и HashTables в C # действуют примерно одинаково, и вы в значительной степени правы с точки зрения производительности. HashMaps, насколько я помню, не жалуются, если вы вставляете дубликаты ключей, тогда как HashTable в C # будет.

Другие советы

По умолчанию .NET Hashtables не синхронизируются, но вы можете создать синхронизированную оболочку вокруг нее, например, так:

Hashtable myHash = Hashtable.Synchronized(new Hashtable());
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top