一开始我以为所有的方法HashTable
都是同步的。查找java doc,发现没有一个方法被声明为同步的。那么一个 JAVAHashTable
对象究竟在哪里被定义为同步呢?
问问题
101 次
5 回答
3
大多数方法都是同步的。如果您查看源文件,您可以看到同步关键字。
于 2012-12-19T18:10:30.663 回答
3
如果您查看 的来源,Hashtable
您可以看到我们用于迭代或添加或删除的类的每个方法都是synchronized
,因此我们可以说Hashtable
是同步的
于 2012-12-19T18:11:08.350 回答
1
类描述的最后一行说明
从 Java 2 平台 v1.2 开始,该类被改进为实现 Map 接口,使其成为 Java Collections Framework 的成员。与新的集合实现不同,Hashtable 是同步的。如果不需要线程安全的实现,建议使用 HashMap 代替 Hashtable。如果需要线程安全的高并发实现,那么建议使用 ConcurrentHashMap 代替 Hashtable。
(重点补充)
于 2012-12-19T18:10:26.717 回答
1
Hashtable 是原始实用程序集合之一,所有这些都是同步的。来自所有方法之前的 Javadoc 描述:“从 Java 2 平台 v1.2 开始,该类已被改造为实现 Map,使其成为 Java 集合框架的一部分。与新的集合实现不同,Hashtable 是同步的。 "
于 2012-12-19T18:10:34.320 回答
1
在 javadoc: 中的 java.util.Hastable:
与新的集合 * 实现不同,{@code Hashtable} 是同步的。
方法是同步的!
于 2012-12-19T18:11:34.627 回答