起初我认为HashTable
的所有方法都是同步的。查看了java doc,发现没有一个方法被声明为synchronized。然后将JAVA HashTable
对象确切定义为同步?
答案 0 :(得分:3)
大多数方法都是同步的。如果查看源文件,可以看到同步关键字。
答案 1 :(得分:3)
如果查看Hashtable
的{{3}},可以看到我们用于迭代或添加或删除的类的每个方法都是synchronized
,因此我们可以说Hashtable
已同步
答案 2 :(得分:1)
class description州的最后一行
从Java 2平台v1.2开始,这个类被改进以实现Map接口,使其成为Java Collections Framework的成员。 与新的集合实现不同,Hashtable已同步。如果不需要线程安全实现,建议使用HashMap代替Hashtable。如果需要线程安全的高度并发实现,那么建议使用ConcurrentHashMap代替Hashtable。
(强调补充)
答案 3 :(得分:1)
Hashtable是原始实用程序集合之一,所有这些都是同步的。从所有方法之前的Javadoc描述开始:“从Java 2平台v1.2开始,这个类已被改进以实现Map,因此它成为Java集合框架的一部分。与新的集合实现不同,Hashtable是同步的。 “
答案 4 :(得分:1)
在javadoc中:java.util.Hastable:
与新的集合*实现不同,{@code Hashtable}是 同步。
方法已同步!