新聞中心
這里有您想知道的互聯網營銷解決方案
Java任務隊列的定義與代碼的詳細介紹
Java任務隊列需要我們詳細的學習,當然我們在不斷的使用中還需要注意相關信息的學習。下面我們就先來看看TaskQueue(任務隊列)的具體應用。下面我們就詳細的學習下。

為田家庵等地區(qū)用戶提供了全套網頁設計制作服務,及田家庵網站建設行業(yè)解決方案。主營業(yè)務為成都網站設計、做網站、成都外貿網站建設公司、田家庵網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
在同一時刻,可能有很多任務需要執(zhí)行,而程序在同一時刻只能執(zhí)行一定數量的任務,當需要執(zhí)行的任務數超過了程序所能承受的任務數時怎么辦呢?這就有了先執(zhí)行哪些任務,后執(zhí)行哪些任務的規(guī)則。
TaskQueue類就定義了這些規(guī)則中的一種,它采用的是FIFO(先進先出,英文名是First In First Out)的方式,也就是按照任務到達的先后順序執(zhí)行。TaskQueue類的定義。
Java任務隊列代碼如下:
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.List;
- public class TaskQueue {
- private List
queue = new LinkedList (); - // 添加一項任務
- public synchronized void addTask(Task task) {
- if (task != null) {
- queue.add(task);
- }
- }
- // 完成任務后將它從任務隊列中刪除
- public synchronized void finishTask(Task task) {
- if (task != null) {
- task.setState(Task.State.FINISHED);
- queue.remove(task);
- }
- }
- // 取得一項待執(zhí)行任務
- public synchronized Task getTask() {
- Iterator
it = queue.iterator(); - Task task;
- while (it.hasNext()) {
- task = it.next();
- // 尋找一個新建的任務
- if (Task.State.NEW.equals(task.getState())) {
- // 把任務狀態(tài)置為運行中
- task.setState(Task.State.RUNNING);
- return task;
- }
- }
- return null;
- }
- }
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.List;
- public class TaskQueue {
- private List
queue = new LinkedList (); - // 添加一項任務
- public synchronized void addTask(Task task) {
- if (task != null) {
- queue.add(task);
- }
- }
- // 完成任務后將它從任務隊列中刪除
- public synchronized void finishTask(Task task) {
- if (task != null) {
- task.setState(Task.State.FINISHED);
- queue.remove(task);
- }
- }
- // 取得一項待執(zhí)行任務
- public synchronized Task getTask() {
- Iterator
it = queue.iterator(); - Task task;
- while (it.hasNext()) {
- task = it.next();
- // 尋找一個新建的任務
- if (Task.State.NEW.equals(task.getState())) {
- // 把任務狀態(tài)置為運行中
- task.setState(Task.State.RUNNING);
- return task;
- }
- }
- return null;
- }
- }
以上就是對Java任務隊列的詳細介紹。
【編輯推薦】
- JavaScript最讓人費解的十件事
- 了解Java日志系統(tǒng)框架的設計與實現
- 在敏捷開發(fā)中編寫高質量Java代碼
- Java類中熱替換的概念、設計與實現
- Python編程語言在Java中的使用效果
網頁題目:Java任務隊列的定義與代碼的詳細介紹
標題路徑:http://www.dlmjj.cn/article/ccccsds.html


咨詢
建站咨詢
