public class Test{
public static void main(String[] args){
TicketMachine tm=new TicketMachine();
//定义三台机器同时售票
Thread t1=new Thread(tm);
Thread t2=new Thread(tm);
Thread t3=new Thread(tm);
t1.start();
t2.start();
t3.start();
}
}
class TicketMachine implements Runnable{
private int nums=2000;//定义2000张票
public void run(){
while(true)
{
try{
Thread.sleep(1000);
}catch(InterruptedException e){
e.printStackTrace();
}
synchronized(this)//某个对象在使用times这个数据时,其他对象不能使用,这就是对象锁,否则会导致混乱
{
if(nums>0)
{
System.out.println(Thread.currentThread().getName()+"正在售出第"+nums+"张票");
nums--;
}else break;
}
}
}
}
java对象锁的使用
最新推荐文章于 2025-06-21 23:06:18 发布