爱心技术专栏专题

者模型的Java简单实现

摘录:java 来源:java 加入时间:2007年04月23日
摘要:
者模型的Java简单实现

 

package testjava.thread;

public class SellBuy {

 /**
  * @param args
  */
 public static void …

者模型的Java简单实现

站点:爱心种子小博士 关键字:者模型的Java简单实现

者模型的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();
  
 }
}

转载:转载请保留本信息,本文来自http://www.51dibs.com/lp07/la/a14/l_a_aba1a4a3153c55e2.html