快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

生产者消费者模型的Java简朴实现

 

package testjava.thread;

public class SellBuy {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Q q = new Q();
  new Thread(new Producer(q)).start();
  new Thread(new Comsumer(q)).start();
  
 }

}
class Producer implements Runnable
{
 Q q;
 public Producer(Q q)
 {
  this.q=q;
 }
 public void run()
 {
  int i=0;
  while(true)
  {
   if(i==0)
    q.put(\"zhangsan\",\"male\");
   else
    q.put(\"lisi\",\"femail\");
   i=(i+1)%2; 
  }   
 }
}
class Comsumer implements Runnable
{
 Q q;
 public Comsumer(Q q)
 {
  this.q=q;
 }
 public void run()
 {
  while(true)
  {
   q.get();
  }
 }
}
class Q
{
 String name=\"unknown\";
 String sex=\"unkonwn\";
 boolean bFull=false;
 public synchronized void put(String name,String sex)
 {
  if(bFull)
   try {wait();} catch (Exception e) {}
  this.name=name;
  try {Thread.sleep(1);} catch (Exception e) {}
  this.sex=sex;
  bFull=true;
  notify();
 }
 public synchronized void get()
 {
  if(!bFull)
   try {wait();} catch (Exception e) {} 
  System.out.println(name+\":\"+sex);
  bFull=false;
  notify();
  
 }
}





返回类别: 教程
上一教程: About UBB with java has a bug.
下一教程: JAVA 中 jar 文件的编写和应用

您可以阅读与"生产者消费者模型的Java简朴实现"相关的教程:
· 生产者消费者模型的JAVA简朴实现
· 电子商务模型的JSP、JAVABEAN实现
· bug? Hbm2JavaTask无法实现joined-subclass单独配置文件(2.1.2)
· 数据库连接池JAVA实现小结
· java版本的二分法算法实现
    微笑服务 优质保证 索取样品