代码如下:publicclassTicketimplementsRunnable{privatestaticintnum=100;publicstaticvoidmain(String[]args){Threadt1=newThread(newTicket(),"t1");Threadt2=newThread(newTicket...
代码如下:public class Ticket implements Runnable { private static int num=100; public static void main(String[] args) { Thread t1=new Thread(new Ticket(),"t1"); Thread t2=new Thread(new Ticket(),"t2"); Thread t3=new Thread(new Ticket(),"t3"); Thread t4=new Thread(new Ticket(),"t4"); Thread t5=new Thread(new Ticket(),"t5"); t1.start(); t2.start(); t3.start(); t4.start(); t5.start(); } synchronized void getTicket(String name){ if(num>0){ System.out.println(name+"-----"+num); num--; } try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void run() { while(num>0) this.getTicket(Thread.currentThread().getName()); }}
输出结果为什么同一张票被卖出多次,而有的票没卖出,例如:
还有,为什么小票号会在大票号之前输出,num是一个静态变量应该越减越少啊,望大侠们帮忙啦!!
展开