Fre*_*Man 1 java synchronization arraylist hashmap
我正在更新一个旧项目,我想知道是否应该在IDE中删除一些标记为"过时"的对象.有问题的对象是Vector和Hashtable.我做了一些研究,看起来这些对象的新对应物 - ArrayList和HashMap - 基本相同,只是没有同步.
我的问题是,为什么要进行切换?我不是只是从我的应用程序中取走一点安全性以换取少量速度吗?看起来这不是一个巨大的决定,但我想我会在做出决定之前看看是否值得花时间.
谢谢!
Jon*_*eet 11
我不是只是从我的应用程序中取走一点安全性以换取少量速度吗?
如果你唯一的线程安全性是依靠的同步Vector和Hashtable,你几乎可以肯定麻烦了.
通常,粗粒度操作需要同步 - "对集合上的每个小操作进行同步并希望足够好"的方法几乎不是所需要的,所以为什么要轻微拥有它呢?
如果您在线程之间共享可变数据(例如集合),则需要仔细考虑如何这样做 - 使用Vector并且Hashtable可能会给您一种错误的安全感.
| 归档时间: |
|
| 查看次数: |
863 次 |
| 最近记录: |