傳統執行緒技術中有個定時器,定時器的類是timer,我們使用定時器的目的就是給它安排任務,讓它在指定的時間完成任務。所以先來看一下timer類中的方法(主要看常用的timertask()
方法):
返回值方法名
方法描述
void
schedule(timertask task, long delay)
安排在指定延遲後執行指定的任務。
void
schedule(timertask task, long delay, long period)
安排指定的任務從指定的延遲後開始進行重複的固定延遲執行。
void
schedule(timertask task, date time)
安排在指定的時間執行指定的任務
void
schedule(timertask task, date firsttime, long period)
安排指定的任務在指定的時間開始進行重複的固定延遲執行。
前面兩個是在指定延遲後執行或者重複執行,後面兩個是在指定時間執行或者重複執行。我們以前兩個為例來研究一下定時器的使用。
先寫乙個簡單的使用定時器的demo,然後慢慢引申。
public class traditionaltimer}class mytask extends timertask
}
這樣,就可以在1秒鐘之後開始執行mytask,每兩秒鐘執行一次。
其實,看一下timertask的原始碼就立即可以知道,timertask就是實現了runnable介面的。也就是說,通過timer來間隔一段時間執行乙個操作,也是通過乙個執行緒來做到的。
java併發程式設計(1) 傳統多執行緒技術
1.傳統兩種方式實現執行緒 package com.qunar.thread public class traditionalthread catch interruptedexception e system.out.println thread.currentthread getname sys...
java中的併發 執行緒通訊
目錄 1.wait notify notifyall 2.生產者消費者模式 3.多生產多消費模式 1.wait notify notifyall object類為我們定義了執行緒通訊的方法,如wait notify 等,這些方式是本地的而且是final的.1.1wait 1 呼叫wait 方法,能讓...
黑馬程式設計師 Java中傳統執行緒同步通訊技術
方法簽名 public final void wait throws interruptedexception 導致當前執行緒等待直到另乙個執行緒在這個物件上呼叫notify 方法或者notifyall 方法。換句話說,這個方法的表現就像它簡單的處理呼叫wait 0 方法。當前執行緒必須擁有這個物件...