【发布时间】:2012-12-20 15:09:05
【问题描述】:
如果堆栈扩展向量是否意味着堆栈已同步?
Vector Java 文档中的注释
与新的集合实现不同,Vector 是同步的。
【问题讨论】:
如果堆栈扩展向量是否意味着堆栈已同步?
Vector Java 文档中的注释
与新的集合实现不同,Vector 是同步的。
【问题讨论】:
【讨论】:
是的,从 Vector 继承的方法在 Stack 中保持同步。自己的 Stack 方法 peek、pop、search 在 Stack 中同步。 Stack.push 和 Stack.empty 方法不同步,但是
public boolean empty() {
return size() == 0;
}
public E push(E item) {
addElement(item);
return item;
}
这两个方法都在调用 Vector 的同步方法,因此 Stack.empty 和 Stack.push 是线程安全的。
【讨论】: