Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 生产者-消费者问题的解决原理
【标  题】:生产者-消费者问题的解决原理
【关键字】:
【来  源】:BLOG.CSDN.NET

生产者-消费者问题的解决原理

Your Ad Here

暂时先贴出测试的代码,其中自有深意,一时体会不来,日后会对这篇文章不断更新,以加上不断的体会,

各位不妨先将你的体会写在评论里,共同分享!

class Test
{
 public static void main(String[] args)
 {
  Queue q=new Queue();
  Producer p=new Producer(q);
  Consumer c=new Consumer(q);
  p.start();
  c.start();
 }
}

class Producer extends Thread
{
 Queue q;
 Producer(Queue q)
 {
  this.q=q;
 }
 public void run()
 {
  for(int i=0;i<10;i++)
  {
   q.put(i);
   System.out.println("Producer put "+i);
  }
 }
}
class Consumer extends Thread
{
 Queue q;
 Consumer(Queue q)
 {
  this.q=q;
 }
 public void run()
 {
  while(true)
  {
   System.out.println("Consumer get "+q.get());
  }
 }
}
class Queue
{
 int value;
 boolean bFull=false;
 public synchronized void put(int i)
 {
  if(!bFull)
  {
   value=i;
   bFull=true;
   notify();
  }
  try
  {
   wait();
  }
  catch(Exception e)
  {
   e.printStackTrace();
  }
   
 }
 public synchronized int get()
 {
  if(!bFull)
  {
   try
   {
    wait();
   }
   catch(Exception e)
   {
    e.printStackTrace();
   }
  }
  bFull=false;
  notify();
  return value;
 }
}

Sudoku V2 构想:【上一篇】
Java十四武器及其特点:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 无线网络技术名词解析
  • 如何配置才能使客户端连到数据库
  • ASP脚本生成GUID的实现
  • LV EXTEND 记录
  • 分布式程序设计中的远程方法调用
  • Containing Block
  • 用PHP实现登陆验证码(类似条行码状)
  • 什么是RFC
  • 尽量避免QQ产生磁盘碎片的方法
  • 那个transform,只是变形的中心点
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.