Java多线程的经典案例

Java多线程的经典案例

创建一个包;
package thread;
//继承Java自带的线程类
//new一个farmer类
public class Farmer extends Thread {
//赋初始值
private int mine=100;

//生成run方法
public void run(){
	for(int i=0;i<20;i++){
		//加锁
		synchronized (this){
			if(mine>0){
				mine=mine-5;
				System.out.println(this.getName()+"采了5矿石,还剩:"+mine);
				
			}
		}
		
	}
}

}
再new一个Test类。
package thread;

public class Test {

public static void main(String[] args) {
	Farmer farmer1=new Farmer();
	Farmer farmer2=new Farmer();
	Farmer farmer3=new Farmer();

	farmer1.start();
	farmer2.start();
	farmer3.start();
}

}

(多线程的本质是CPU的快速切换!)

你可能感兴趣的:(Java基础)