3. 總結
delayqueue中的元素要實現delayed介面,delayed介面又實現了 comparable介面
public
inte***ce
delayed
extends
comparable
public
inte***ce
comparable
class
work
implements
delayed
@override
public
long
getdelay
(timeunit unit)
@override
public
intcompareto
(delayed o)
}public
class
testmain
system.out.
format
("name:, time:\n"
,take.name,
newdate()
);}}
}
我們根據上面的呼叫示例來看看原始碼,先看看入隊操作
通過原始碼我們可以看到delayqueue一共有4個入隊方法,add(e),offer(e),put(e),offer(t,long,timeunit),但其實都是呼叫offer(e)的實現。
public
boolean
add(e e)
public
void
put(e e)
public
boolean
offer
(e e,
long timeout, timeunit unit)
public
boolean
offer
(e e)
return
true;}
finally
}
出隊也有4個方法,poll(),take(),poll(long,timeunit),peek() ,我這邊主要寫一下poll和take
poll()
/**
* 返回並移除隊首到期元素,如果隊裡沒有到期元素則返回 null
* 非阻塞
*/public e poll()
finally
}
take()/**
* 返回隊首到期元素,如果到期元素則等待到有乙個到期元素返回
* 阻塞
*/public e take()
throws interruptedexception
finally}}
}}finally
}
延時任務與定時任務
1.延時任務 at命令的使用 1 開啟終端,在根目錄下建立乙個新的目錄取名為 at 2 進入 at目錄下,執行watch n 1 ls l at命令,對其進行監控 3 同時開啟另乙個終端,執行命令 at 某個將來的具體時刻 表示將來在某個時刻執行你特定的操作 例如下圖便是在17 20在 at目錄下建...
延時任務和定時任務
1.at 延時 at l 檢視任務 at r 任務編號 刪除任務 etc at.allow 白名單,白名單中存在的使用者可以使用at,白名單優先順序高,黑白名單中使用者同時存在,白名單生效 etc at.deny 黑名單,存在的使用者不能使用at 2.crontab 定時 由crond.servic...
Linux 延時任務與定時任務
延時任務 系統的延時任務是通過at命令是實現的,負責這個延時任務的服務是atd服務,通常這個服務是預設開啟的 延時任務的發起過程 1 at time 表示在某一時刻發起任務 2 dosomething 任務具體執行的內容 3 ctrl d 儲存該命令 延時任務的常見命令 延時任務的黑名單 延時任務白...