//只是很简单的实现了数据集,数据集的操作服务类,多线程模拟多生产者和多消费者。最后一个测试类。
数据集类
package entity;
import java.util.ArrayList;
import java.util.List;
/**
* synchronized同步对象是MyStack实例对象
* list只是一个元素
* @author cindy
*
*/
public class MyStack {
private List list = new ArrayList<String>();
/**
* 生产栈元素
*/
synchronized public void push() {
try {
while (list.size() == 1) {
System.out.println("push操作阻塞" + ",线程是" + Thread.currentThread().getName());
this.wait();
}
list.add("hello vincent" + Math.random());
this.notifyAll();
System.out.println(Thread.currentThread().getName() + "进程进行了一次push操作" + "push=" + list.size());
} catch (Exception e) {
// TODO: handle exception
}
}