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

📄 supply.java

📁 java应用举例4
💻 JAVA
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Supply extends Applet implements Runnable{ 
    //设定初始的金额为0
	int money=0;
	TextArea give,get;
    //声明两个线程,一个用来寄钱,一个用来花钱
	Thread mum,son;

	public void init(){
        //创建两个线程:mum、son
		mum=new Thread(this); 
		son=new Thread(this);
        //设定小应用程序的布局为GridLayout
        setLayout(new GridLayout(1,2));
		give=new TextArea(20,100); 
		get=new TextArea(20,100);
		//向程序添加组件
		add(give);
		add(get);
	}

	public void start()	{ 
        //线程开始执行
		mum.start();			
		son.start();                 
	}
	
    public void run(){ 
        //当时的线程在两者之间
        if(Thread.currentThread()==mum||Thread.currentThread()==son) {
            for(int i=0;i<12;i++) {
                //执行方法trans 
                trans(1000);
            }
        } 
    }

	public synchronized void trans(int giveMoney) { 
		//如果当前的线程为寄钱的
		if(Thread.currentThread()==mum){ 
			for(int i=1;i<=2;i++){
			    //将金额相加
				money=money+giveMoney;
				try {
				    //使线程休眠
				    Thread.sleep(1000);
				} catch(InterruptedException e){
				    System.out.print(e);
				}
                //输出寄去的金额
                give.append("\n"+"孩子总共还有"+money+"元");
			}
		}
		//如果当前的线程为花钱的
		else if(Thread.currentThread()==son){
			for(int i=1;i<=4;i++){
			    //使金额减少
				money=money-400;
				try {
				    //线程休眠
				    Thread.sleep(1000);
				}	catch(InterruptedException e){
				    System.out.print(e);
				}
				//输出余额
                get.append("\n"+"孩子总共还有"+money+"元");
			}
		}
	}
}

⌨️ 快捷键说明

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