多執行緒學習----定時器(二)
阿新 • • 發佈:2018-11-03
1.建立一個定時器,執行某個任務,第一次執行在10s鍾以後,之後每隔1s鍾執行一次。
new Timer().schedule(new TimerTask() {
@Override
public void run() {
System.out.println("bombbang");
}
}, 10000,1000);
schedule方法,第一個引數為要執行的任務,第二個為延遲執行時間,第三個為執行間隔時間。
2.建立一個定時任務:任務建立後2s後執行一次,然後4s執行一次,然後再2s執行一次,然後再4s。。。。。
程式碼實現方式一:
public static int count = 0; public static void main(String[] args) { class MyTimer extends TimerTask{ @Override public void run() { count = (count+1)%2; System.out.println("bombbang"); new Timer().schedule(new MyTimer(),count == 1 ? 4000:2000); } } new Timer().schedule(new MyTimer(), 2000);
程式碼實現方式二:
class MyTimer extends TimerTask{ @Override public void run() { System.out.println("bombbang"); new Timer().schedule(new MyTimer1(),4000); } } class MyTimer1 extends TimerTask{ @Override public void run() { System.out.println("bombbang"); new Timer().schedule(new MyTimer(),2000); } } public class TimeStudy { public static void main(String[] args) { //啟動定時任務,第一次執行2s以後 new Timer().schedule(new MyTimer(), 2000); } }
高階應用
每天凌晨三點接收郵件!!!