2008-05-16 JAVA-多執行緒初體驗 7813 0 JAVA 2008-05-18 摘要:JAVA-多執行緒初體驗 import java.io.*; import java.util.Date; interface TimeUp { void notifyTimeUp(); } class Timer extends Thread { private int interval; // 計時區間 private TimeUp listener; // 時間到時反向叫用的介面 public static void setTimer(int interval,TimeUp listener) { Timer t = new Timer(interval,listener); // 建立計時物件 t.start(); // 啟動計時用的執行緒 } private Timer(int interval,TimeUp listener) { this.interval = interval; this.listener = listener; } public void run() { try { sleep(interval); // 進入睡眠時間等待時間到 } catch(InterruptedException e) {} listener.notifyTimeUp(); // 通知時間已到 } } public class work15_4 implements TimeUp { static boolean isTimeUp = false; /** * @param args */ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // TODO 自動產生方法 Stub int a; System.out.print("請輸入數值a:"); String str = br.readLine(); a = Integer.parseInt(str); Timer.setTimer(a,new work15_4()); Date now = new Date(); System.out.println("目前時刻:" + now); while(!isTimeUp) { try { Thread.sleep(1000); } catch(InterruptedException e) {} System.out.print("."); } now = new Date(); System.out.println("目前時刻:" + now); } public void notifyTimeUp() { System.out.println("您的泡麵好了!"); isTimeUp = true; } } JAVA 回首頁