mediregistersyn.java
来自「java课件及例程有一些PPT及一些例程」· Java 代码 · 共 50 行
JAVA
50 行
class Reg{
public synchronized int modify(int number, int maxnum){
try{
if(number<maxnum){
Thread.sleep((int)(Math.random()*1000));
number++;
System.out.println(Thread.currentThread().getName()+",您的挂号成功,号码是第"+number+"位!");
}
else
System.out.println(Thread.currentThread().getName()+",今天挂号已满!");
}catch(InterruptedException e)
{
System.out.println(e.getMessage());
}
return number ;
}
}
public class MediRegisterSyn implements Runnable{
int number;
private int maxnum=40;
Reg rr;
MediRegisterSyn(Reg r){
rr = r;
}
public void setMaxnum(int mx){
maxnum = mx;
}
public int getMaxnum(){
return maxnum;
}
public void run(){
synchronized(rr){
number = rr.modify(number,maxnum);
}
}
public static void main(String[] args){
Reg r = new Reg();
MediRegisterSyn theReg = new MediRegisterSyn(r);
theReg.setMaxnum(2);
Thread myRegister1 = new Thread(theReg,"Mary");
Thread myRegister2 = new Thread(theReg,"Lily");
Thread myRegister3 = new Thread(theReg,"Tom");
myRegister1.start();
myRegister2.start();
myRegister3.start();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?