• 线程实现输出结果为100对(1,0)


    public class IntData {
       private int num=0;
       private boolean isProduced=false;
       public synchronized void puShareChar() {
        //如果产品还没有消费,则生产者等待
        if (isProduced) {
           try {
            wait();//生产者等待
           } catch (InterruptedException e) {
            e.printStackTrace();
         }
      }
      this.num++;
      isProduced=true;//标记已经生产
      notify();//通知消费者已经生产,可以消费
      System.out.println(num);
     }
     public synchronized int getShareChar() {
      //产品还没有生产,则消费者等待
        if (!isProduced) {
         try {
          wait();//消费者等待
         } catch (InterruptedException e) {
          e.printStackTrace();
         }
      }
      isProduced=false;//标记已经消费
      notify();//通知需要生产
      this.num--;
      System.out.println(this.num);
      return this.num;
     }
    }

    public class IntJia extends Thread {
       private IntData intData;
       public IntJia(IntData intData){
        this.intData=intData;
       }
       public void run() {
          for(int ch=1;ch<100;ch++){
             try {
              Thread.sleep(1);
           } catch (InterruptedException e) {
            e.printStackTrace();
         }
         intData.puShareChar();//将产品放入仓库
        }
       }
    }

    public class IntJIan extends Thread{
       private IntData intData;
       public IntJIan(IntData intData){
        this.intData=intData;
     }
     public void run() {
     
      for(int ch=1;ch<100;ch++){
       try {
        Thread.sleep(1);
       } catch (InterruptedException e) {
        e.printStackTrace();
       }
       ch=intData.getShareChar();//将产品放入仓库
       System.out.println();
      }
      
     }
     
    }

    public class TestInt {
     public static void main(String[] args) {
      IntData intData=new IntData();
      new IntJia(intData).start();
      new IntJIan(intData).start();
     }
    }

  • 相关阅读:
    提升Android编译速度
    NYOJ 158 省赛来了
    浅谈 ZipArchive 类
    块状元素的text-align对齐属性
    BestCoder Round #2 1001 TIANKENG’s restaurant
    Saltstack运行cmd.run重新启动tomcat后出现日志乱码(15)
    【HRS项目】Axure兴许问题解决---与SVN结合
    软件质量之道:PCLint之中的一个
    字典树 一种高速插入查询数据结构
    【JS】JavaScript引擎的内部执行机制
  • 原文地址:https://www.cnblogs.com/lanliying/p/3177480.html
Copyright © 2020-2023  润新知