zoukankan      html  css  js  c++  java
  • 多线程学习——消费者生产者(2)

    package com.daicy.ProducerConsumer;
    
    import java.util.concurrent.LinkedBlockingQueue;
    
    public class DLinkedBlockingQueue<E> implements IDStack<E> {
    
    	private LinkedBlockingQueue stack = new LinkedBlockingQueue();
    
    	@Override
    	public E push(E item) throws InterruptedException {
    		// TODO Auto-generated method stub
    		stack.put(item);
    		return item;
    	}
    
    	@Override
    	public E pop() throws InterruptedException {
    		// TODO Auto-generated method stub
    		return (E) stack.take();
    	}
    
    }
    
    package com.daicy.ProducerConsumer;
    
    import java.util.Stack;
    
    public class DStack<E> implements IDStack<E> {
    	private Stack stack = new Stack();
    
    	public synchronized E push(E item) {
    		stack.push(item);
    		notify();
    		return item;
    	}
    
    	public synchronized E pop() throws InterruptedException {
    		while (stack.size() == 0) {
    			this.wait();
    		}
    		return (E) stack.pop();
    	}
    
    }
    

    package com.daicy.ProducerConsumer;
    
    public interface IDStack<E> {
    
    	public E push(E item) throws InterruptedException;
    
    	public E pop() throws InterruptedException;
    
    }
    

    package com.daicy.ProducerConsumer;
    
    public class Mantou {
    	private int id;
    
    	Mantou(int id) {
    		this.id = id;
    	}
    
    	public String toString() {
    		return "Mantou :" + id;
    	}
    }
    

    package com.daicy.sequence;
    
    public class SafeSequence {
    	private static int value;
    
    	public static synchronized int getNext() {
    		return value++;
    	}
    }
    


  • 相关阅读:
    linux编程 给线程起名字
    c语言的__packed__
    LINUX 命令行编辑快捷键
    linux关于bashrc与profile的区别(转)
    linux查看和修改PATH环境变量的方法
    linux 线程 pthread_create 源码 剖析
    你真的了解【HashMap】么?-一
    Oracle 基础概念
    Java数据库连接池
    JVM内存模型与垃圾回收
  • 原文地址:https://www.cnblogs.com/daichangya/p/12959313.html
Copyright © 2011-2022 走看看