1. 程式人生 > >多執行緒學習----定時器(二)

多執行緒學習----定時器(二)

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);
    }
}

高階應用

每天凌晨三點接收郵件!!!