corrupteddata.java

来自「java语言与面向对象程序设计源程序」· Java 代码 · 共 44 行

JAVA
44 行
字号
public class CorruptedData
{  protected static int DISPLAY = 1, CHANGE = 2;
   private WorkThread slowWorker = null;
   private WorkThread fastWorker = null;
   private int number = 0;

   public CorruptedData()
   {  number = (int)(10*Math.random());
      slowWorker = new WorkThread(this, DISPLAY);
      fastWorker = new WorkThread(this, CHANGE);
   }

public synchronized void performWork(int type)
  // public void performWork(int type)
   {  if (type == DISPLAY)
      {  System.out.println("Number before sleeping: " + number);
         try
         { slowWorker.sleep(2000);
         } 
         catch(InterruptedException ie)
         {  System.err.println("Error: " + ie); }
         System.out.println("Number after waking up: " + number);
      }
      if (type == CHANGE)
         number = -1;
   }   
   public static void main(String args[])
   {  CorruptedData cd = new CorruptedData(); }
}
//public 
class WorkThread extends Thread
{  private CorruptedData data = null;
   private int work = 0;
   public WorkThread(CorruptedData _data, int _work)
   {  data = _data;
      work = _work;
      start();
   }
   public void run()
   {  data.performWork(work);
   }
}

⌨️ 快捷键说明

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