JAvaで作ったタイマー
/** * 実装クラス */import java.util.Timer;
public class Test{ public Test(){} public void run() { MyTask myTask = new MyTask(); Timer timer = new Timer(true); timer.schedule(myTask,0,1000); //test system process while(true) { System.out.println("system in working !"); try { Thread.currentThread().sleep(3000); } catch (InterruptedException e) { //TODO Auto-generated catch block e.printStackTrace(); } } } /** * @param args */ public static void main(String[] args) { //TODO Auto-generated method stub Test test = new Test(); test.run(); }
}
/** * タスク実行クラス */import java.util.TimerTask;
public class MyTask extends TimerTask{ /** * default construction */ public MyTask(){}; /** * run function */ public void run() { //do somthing System.out.println("new task is working !!"); }}
public Timer(boolean isDaemon)
新しいタイマを作成します.関連するスレッドをデーモンとして実行するように指定します.タイマが「≪メンテナンス・アクティビティ|Maintenance Activity|emdw≫」の繰り返しをスケジュールするために使用される場合は、アプリケーションの実行中にデーモン・スレッドを呼び出す必要がありますが、プログラムのライフサイクルを延長することはできません.
パラメータ:
デーモンスレッドと一般スレッドの唯一の違いは、JVM内のすべてのスレッドがデーモンスレッドである場合、JVMは終了することができ、もう1つ以上のデーモン以外のスレッドがある場合は終了しないことです(以上、通常の終了に対してSystem.exitを呼び出すと必ず終了します). だからsetDeamon(true)の唯一の意味は、JVMが終了するのを待つ必要がないことを教えて、JVMに好きなように終了させましょう.気にしないでください. どんなスレッドでも必ずタイムスライスに分けて実行され、上の検出スペルや入力とは何の関係もありません.
public class Test{ public Test(){} public void run() { MyTask myTask = new MyTask(); Timer timer = new Timer(true); timer.schedule(myTask,0,1000); //test system process while(true) { System.out.println("system in working !"); try { Thread.currentThread().sleep(3000); } catch (InterruptedException e) { //TODO Auto-generated catch block e.printStackTrace(); } } } /** * @param args */ public static void main(String[] args) { //TODO Auto-generated method stub Test test = new Test(); test.run(); }
}
/** * タスク実行クラス */import java.util.TimerTask;
public class MyTask extends TimerTask{ /** * default construction */ public MyTask(){}; /** * run function */ public void run() { //do somthing System.out.println("new task is working !!"); }}
public Timer(boolean isDaemon)
新しいタイマを作成します.関連するスレッドをデーモンとして実行するように指定します.タイマが「≪メンテナンス・アクティビティ|Maintenance Activity|emdw≫」の繰り返しをスケジュールするために使用される場合は、アプリケーションの実行中にデーモン・スレッドを呼び出す必要がありますが、プログラムのライフサイクルを延長することはできません.
パラメータ:
isDaemon
-関連するスレッドをデーモンとして実行する必要がある場合はtrueです.デーモンスレッドと一般スレッドの唯一の違いは、JVM内のすべてのスレッドがデーモンスレッドである場合、JVMは終了することができ、もう1つ以上のデーモン以外のスレッドがある場合は終了しないことです(以上、通常の終了に対してSystem.exitを呼び出すと必ず終了します). だからsetDeamon(true)の唯一の意味は、JVMが終了するのを待つ必要がないことを教えて、JVMに好きなように終了させましょう.気にしないでください. どんなスレッドでも必ずタイムスライスに分けて実行され、上の検出スペルや入力とは何の関係もありません.