⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jlab0802.java

📁 计算机系学习java的专用ppt
💻 JAVA
字号:
 class ProduceInteger extends Thread{
       private HoldInteger sharedObject;
       public ProduceInteger(HoldInteger shared){
          super("ProduceInteger");
          sharedObject=shared;
         }
       public void run(){
          for(int count=1;count<=10;count++){
             try{
                  Thread.sleep((int)(Math.random()*3000));
              }catch(InterruptedException exception){
                 System.err.println(exception.toString());
              }
             sharedObject.setSharedInt(count);
                 }   
          System.err.println(getName()+"finished producing values"+
                                    "\nTerminating"+getName());
         }
}
    
 class ConsumeInteger extends Thread{
      private HoldInteger sharedObject;
      public ConsumeInteger(HoldInteger shared){
            super("ConsumeInteger");
            sharedObject=shared;
                     }
            public void run(){
                int value,sum=0;
                 do{
                    try{
                       Thread.sleep((int)(Math.random()*3000));
                     }catch(InterruptedException exception){
                       System.err.println(exception.toString());
                         }
                     value=sharedObject.getSharedInt();
                     sum+=value;
                  }while(value!=10);
                 System.err.println(getName()+"retrieved values totaling"+
                                  sum+"\nTerminating"+getName());
                      }
        }
 
 class HoldInteger{
                 private int sharedInt=-1;
                 public void setSharedInt(int value){
                        System.err.println(Thread.currentThread().getName()+
                                             "setting sharedInt to"+value);
                        sharedInt=value;
                 }
                 public int getSharedInt(){
                      System.err.println(Thread.currentThread().getName()+
                                    "retrieving sharedInt value"+sharedInt);
                      return sharedInt;
                 }
        } 
            

public class JLab0802{
               public static void main(String args[]){
                        HoldInteger sharedObject=new HoldInteger();
                         ProduceInteger producer=new ProduceInteger(sharedObject);
                         ConsumeInteger consumer=new ConsumeInteger(sharedObject);
                            producer.start();
                             consumer.start();
               }
         
      }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -