import java.util.logging.Level; import java.util.logging.Logger; public class MyThread implements Runnable {//實現Ruannable藉口 private int tickets = 10; //一共10張票 @Override public void run() { //實現run()方法 for (int i = 0; i < 50; i++) { synchronized (this) { if (tickets > 0) { try { Thread.sleep(200); } catch (InterruptedException ex) { Logger.getLogger(MyThread.class.getName()).log(Level.SEVERE, null, ex); } System.out.println(Thread.currentThread().getName() + ":ticket" + tickets--); } } } } }
import java.util.logging.Level; import java.util.logging.Logger; public class TicketThread extends Thread { private int tickets = 10; //一共10張票 @Override public void run() { //實現run()方法 for (int i = 0; i < 50; i++) { this.sale(); } } public synchronized void sale() { if (tickets > 0) { try { Thread.sleep(200); } catch (InterruptedException ex) { Logger.getLogger(MyThread.class.getName()).log(Level.SEVERE, null, ex); } System.out.println(Thread.currentThread().getName() + ":ticket" + tickets--); } } }