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的快速切换!)