当前位置: 代码迷 >> Java相关 >> [求助]如何实现十个线程,公用一个通用栈
  详细解决方案

[求助]如何实现十个线程,公用一个通用栈

热度:203   发布时间:2007-01-02 22:07:44.0
[求助]如何实现十个线程,公用一个通用栈

如何实现十个线程,公用一个通用栈

搜索更多相关的解决方案: 线程  

----------------解决方案--------------------------------------------------------
同步这个栈即可 同步使用关键字 synchronized

----------------解决方案--------------------------------------------------------

不明白,我是初学者,最好能详细点解说一下!


----------------解决方案--------------------------------------------------------
你想具体实现什么

什么十个线程公有一个通用栈

JAVA对内存不能直接操作

----------------解决方案--------------------------------------------------------

楼主的意思应该是说10个线程共同操作一个堆栈类的实例~~

冰峰,这么简单的,你就弄吧~


----------------解决方案--------------------------------------------------------

你这个马甲


----------------解决方案--------------------------------------------------------
以下是引用modelmomo在2007-1-2 22:07:44的发言:

如何实现十个线程,公用一个通用栈

类似生产者,消费者问题吧


----------------解决方案--------------------------------------------------------
以下是引用神vLinux飘飘x在2007-1-4 20:17:37的发言:

楼主的意思应该是说10个线程共同操作一个堆栈类的实例~~

冰峰,这么简单的,你就弄吧~

应该就是这个意思吧,我是在做作业,我觉得这个问题可大可小,不太明白题目要求。需要高手指点!谢谢
----------------解决方案--------------------------------------------------------

你看看这个可以不
这个类可以满足你

package net.vlinux.helper;

import java.util.Stack;

/**
*
* @author vlinux
*/
public class SecurityStack<E> {

private Stack<E> stack;

public SecurityStack() {
stack = new Stack<E>();
}

public E peek() {
synchronized(stack) {
return stack.peek();
}
}

public E push(E e) {
synchronized(stack) {
return stack.push(e);
}
}

public E pop() {
synchronized(stack) {
return stack.pop();
}
}

/**
* This is a test.
*/
public static void main(String... args){
SecurityStack<Integer> stack = new SecurityStack<Integer>();
// do something...
}

}


----------------解决方案--------------------------------------------------------
不错不错

----------------解决方案--------------------------------------------------------
  相关解决方案