用java实现生产和消费

class Res

{

         privateString name;

         privateint count=1;

         privateboolean flag=false;

         publicsynchronized void set(String name)

         {

                   while(true)

                   {

                   while(flag)

                   {

                            try

                            {

                                     this.wait();

                            }

                            catch(Exceptione)

                            {

                            }

                   }

                   this.name=name+"---"+count++;

                   System.out.println(Thread.currentThread().getName()+"生产者..."+this.name);

                   flag=true;

                   this.notifyAll();

         }

         }

         publicsynchronized void get()

         {

                   while(true)

                   {

                   while(!flag)

                   {

                            try

                            {

                                     this.wait();

                            }

                            catch(Exceptione)

                            {

                            }

                   }

                  

                           

                   System.out.println(Thread.currentThread().getName()+"消费者.........."+this.name);

                   flag=false;

                   this.notifyAll();

         }

         }

}

class Pro implements Runnable

{

         Resr;

         Pro(Resr)

         {

                   this.r=r;

         }

         publicvoid run()

         {

                   r.set("商品");

         }

}

class Cos implements Runnable

{

         Resr;

         Cos(Resr)

         {

                   this.r=r;

         }

         publicvoid run()

         {

                   r.get();

         }

}

public class Demo

{

         publicstatic void main(String args[])

         {

                   Resr=new Res();

                   Prop=new Pro(r);

                   Cosc=new Cos(r);

                   Threadt1=new Thread(p);

                   Threadt2=new Thread(p);

                   Threadt3=new Thread(c);

                   Threadt4=new Thread(c);

                   t1.start();

                   t2.start();

                   t3.start();

                   t4.start();

         }

}

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值