Red de conocimientos turísticos - Información de alquiler - Una pregunta de programación JAVA sobre el uso del conocimiento de programación multiproceso JAVA para escribir una pregunta para evitar el mismo número de asiento

Una pregunta de programación JAVA sobre el uso del conocimiento de programación multiproceso JAVA para escribir una pregunta para evitar el mismo número de asiento

paquete ticketeller;

public class TicketSeller {

public static int ticketSum=100;

public static boolean state=true;

public static int cunt=0;

/**

* @param args

*/

public static void main(String[] args) {

TicketSellerMachine mechineOfGuangZhou=new TicketSellerMachine("GuangZhou");

TicketSellerMachine mechineOfShangHai=new TicketSellerMachine("ShangHai");

TicketSellerMachine mechineOfBeiJing=new TicketSellerMachine("BeiJing");

TicketSellerMachine mechineOfShengZheng=new TicketSellerMachine("ShengZheng");

TicketSellerMachine mechineOfHuNan=new TicketSellerMachine("HuNan") ;

mechineOfGuangZhou.start();

mechineOfShangHai.start();

mechineOfBeiJing.start()

mechineOfShengZheng.start; ();

mechineOfHuNan.start();

}

vacío estático sincronizado público soldTicket(String mechineName){

if( TicketSeller.ticketSumgt; 0){

System.out.println("Ticket(" (TicketSeller.cunt) ") se han vendido en " mechineName " mechine.");

TicketSeller.ticketSum--;

}else{

TicketSeller.state=false;

System.out.println("¡Lo sentimos! Las entradas se han agotado ...");

}

}

}

clase TicketSellerMachine extiende Thread{

privado Cadena nombre de la máquina = this.ge

tName();

public TicketSellerMachine() {

super();

}

public TicketSellerMachine(String mechineName) {

this.mechineName = mechineName;

}

@Override

public void run() {

while (TicketSeller.state){

TicketSeller.selledTicket(this.getMechineName());

prueba {

Thread.currentThread().sleep(1000) ;

} catch (InterruptedException e) {

e.printStackTrace()

}

}

}

public String getMechineName() {

return mechineName;

}

public void setMechineName(String mechineName) {

p>

this.mechineName = mechineName;

}

}