基于JAVA实现的生产者消费者模型
来源:互联网 发布:法国女人知乎 编辑:程序博客网 时间:2024/06/07 06:30
class Resource
{
Resource(){ m_name = ""; m_number=0; m_flag = false; }
public synchronized void set(String name)
{
while (m_flag == true)
{
try { wait(); } catch (Exception e){}
}
m_name = name;
System.out.println("----生产者:" + m_name + "_"+ ++m_number);
m_flag = true;
notifyAll();
}
public synchronized void out()
{
while (m_flag == false)
{
try{ wait(); }catch(Exception e){}
}
System.out.println("消费者:" + m_name + "_"+ m_number);
m_flag = false;
notifyAll();
}
private String m_name;
private int m_number;
private boolean m_flag;
}
class Producer implements Runnable
{
Producer(Resource res){ m_res = res; }
public void run()
{
while (true)
{
m_res.set("A");
}
}
private Resource m_res;
}
class Consumer implements Runnable
{
Consumer(Resource res){ m_res = res; }
public void run()
{
while (true)
{
m_res.out();
}
}
private Resource m_res;
}
class ProducerConsumer
{
public static void main(String[] args)
{
Resource r = new Resource();
Producer p = new Producer(r);
Consumer c = new Consumer(r);
new Thread(p).start();
new Thread(c).start();
new Thread(p).start();
new Thread(c).start();
}
}
{
Resource(){ m_name = ""; m_number=0; m_flag = false; }
public synchronized void set(String name)
{
while (m_flag == true)
{
try { wait(); } catch (Exception e){}
}
m_name = name;
System.out.println("----生产者:" + m_name + "_"+ ++m_number);
m_flag = true;
notifyAll();
}
public synchronized void out()
{
while (m_flag == false)
{
try{ wait(); }catch(Exception e){}
}
System.out.println("消费者:" + m_name + "_"+ m_number);
m_flag = false;
notifyAll();
}
private String m_name;
private int m_number;
private boolean m_flag;
}
class Producer implements Runnable
{
Producer(Resource res){ m_res = res; }
public void run()
{
while (true)
{
m_res.set("A");
}
}
private Resource m_res;
}
class Consumer implements Runnable
{
Consumer(Resource res){ m_res = res; }
public void run()
{
while (true)
{
m_res.out();
}
}
private Resource m_res;
}
class ProducerConsumer
{
public static void main(String[] args)
{
Resource r = new Resource();
Producer p = new Producer(r);
Consumer c = new Consumer(r);
new Thread(p).start();
new Thread(c).start();
new Thread(p).start();
new Thread(c).start();
}
}
0 0
- 基于JAVA实现的生产者消费者模型
- 基于QT实现的生产者消费者模型
- 生产者-消费者模型的Java实现
- 生产者-消费者模型的Java实现
- 生产者-消费者模型的java实现
- 生产者-消费者模型的Java实现
- 生产者-消费者模型的Java实现
- 生产者-消费者模型的Java实现
- java实现生产者消费者模型
- Java实现生产者-消费者模型
- Java---实现生产者消费者模型
- Java实现生产者消费者模型
- 生产者消费者模型的实现
- 生产者消费者模型的实现
- 基于Java多线程机制的生产者-消费者模型模拟
- 基于内置锁的生产者消费者模型
- 基于LinkedBlockingQueue的生产者消费者模型
- JAVA消费者与生产者模型的几个不同实现
- 51Nod-1205-流水线调度
- 中国电信官方提醒:7类短信诈骗须警惕
- CodeForces 710D Two Arithmetic Progressions(模线性方程组)
- Android杂谈(10)定时任务
- android studio 项目中 如何使用git管理共享一个module
- 基于JAVA实现的生产者消费者模型
- NSURL
- 使用 Maven Profile 和 Filtering 打各种环境的包
- 一个奇怪的SQL问题:case when 在记录不存在时不生效
- lsdk无线驱动与管理层的接口
- python学习笔记-痛点归纳
- TOJ 1923.Tanning Salon
- 网易笔试编程题:两种排序方法(C++)
- [MFC]MFC同步类总结