java併發 傳統執行緒技術中的定時器技術

2021-07-24 01:46:36 字數 874 閱讀 5416

傳統執行緒技術中有個定時器,定時器的類是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 方法。當前執行緒必須擁有這個物件...