多线程经典——生产者消费者问题(未加锁版)
2017-10-21 18:29
316 查看
/* * 生产者,消费者 * * */ class Resrouce { private String name; private int count=1; private boolean flag=false; public synchronized void set(String name) { while(flag) try{this.wait();} catch(InterruptedException e) {} this.name=name+count; count++; System.out.println(Thread.currentThread().getName()+"..生产者."+this.name); flag=true; notifyAll(); } public synchronized void out() { while(!flag) try{this.wait();} catch(InterruptedException e) {} System.out.println(Thread.currentThread().getName()+"..消费者............."+this.name); flag=false; notifyAll(); } } class Producer implements Runnable { private Resrouce r; Producer(Resrouce r) { this.r=r; } public void run() { while(true) { r.set("烤鸭"); } } } class Consumer implements Runnable { private Resrouce r; Consumer(Resrouce r) { this.r=r; } public void run() { while(true) { r.out(); } } } public class Demo { public static void main(String[] args) { Resrouce r=new Resrouce(); Producer pro=new Producer(r); Consumer con=new Consumer(r); Thread t1=new Thread(pro); Thread t2=new Thread(con); Thread t3=new Thread(pro); Thread t4=new Thread(con); t1.start(); t2.start(); t3.start(); t4.start(); } }
相关文章推荐
- 多线程经典——生产者消费者问题(加锁版)
- 多线程第八篇 生产者消费者经典问题
- java多线程之生产者消费者经典问题
- 多线程:生产者与消费者经典问题(马士兵)
- java多线程总结六:经典生产者消费者问题实现
- java多线程总结六:经典生产者消费者问题实现
- 多线程经典问题-生产者与消费者
- 多线程经典案例——生产者/消费者问题的Java实现与详解
- java多线程实现生产者与消费者---经典问题
- 生产者与消费者以及多个容器的多线程问题(经典 集合了老师,同学以及自己的想法)
- 多线程八 生产者消费者经典问题
- java多线程之生产者消费者经典问题
- 多线程八 生产者消费者经典问题
- C# 多线程编程 经典模型 生产者和消费者问题
- java多线程-生产者消费者经典问题 基于BlockingQueue
- Linux 系统应用编程——多线程经典问题(生产者-消费者)
- java多线程之生产者消费者经典问题
- 生产者消费者问题 这是一个非常经典的多线程题目,题目大意如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个有多个缓冲区的缓冲池,生产者
- java多线程之生产者消费者经典问题
- 多线程之经典生产者消费者问题