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

📄 example19_9.java.bak

📁 不错的教程 适合中高级人员的使用
💻 BAK
字号:
import java.applet.*;import java.awt.*;
import java.awt.event.*;
public class Example19_7 extends Applet implements Runnable
{  int money=100;TextArea text1,text2;
   Thread 会计,出纳;
   public void init()
   {  会计=new Thread(this); 出纳=new Thread(this);//创建两个线程:会计、出纳。
      text1=new TextArea(20,8); text2=new TextArea(20,8);
      add(text1);add(text2);
   }
   public void start()
   {  会计.start();出纳.start();                 //线程开始。
   }
   public synchronized void 存取(int number) //存取方法。
   {  if(Thread.currentThread()==会计)
       {  for(int i=1;i<=3;i++) //会计使用存取方法存入90元,存入30元,稍歇一下,
            {  money=money+number;        //这时出纳仍不能使用存取方法,
               try {  Thread.sleep(1000);  //因为会计还没使用完存取方法。
                   }             
               catch(InterruptedException e){}
               text1.append("\n"+money);
            }
       }
      else if(Thread.currentThread()==出纳)
      {  for(int i=1;i<=2;i++) //出纳使用存取方法取出30元,取出15元,稍歇一下,
            {  money=money-number/2;      //这时会计仍不能使用存取方法,
               try { Thread.sleep(1000); //因为出纳还没使用完存取方法。
                   }
               catch(InterruptedException e){}
               text2.append("\n"+money);
            }
      }
   }
   public void run()
   {  if(Thread.currentThread()==会计||Thread.currentThread()==出纳)
         {  for(int i=1;i<=3;i++) //从周一到周三会计和出纳都要使用帐本。
                {  存取(30);
                }
         } 
   }
} 

⌨️ 快捷键说明

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