中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行Java任務隊列的定義與代碼的分析

發布時間:2021-11-20 17:53:39 來源:億速云 閱讀:330 作者:柒染 欄目:編程語言

如何進行Java任務隊列的定義與代碼的分析,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Java任務隊列需要我們詳細的學習,當然我們在不斷的使用中還需要注意相關信息的學習。下面我們就先來看看TaskQueue(任務隊列)的具體應用。下面我們就詳細的學習下。

在同一時刻,可能有很多任務需要執行,而程序在同一時刻只能執行一定數量的任務,當需要執行的任務數超過了程序所能承受的任務數時怎么辦呢?這就有了先執行哪些任務,后執行哪些任務的規則。

TaskQueue類就定義了這些規則中的一種,它采用的是FIFO(先進先出,英文名是First In First Out)的方式,也就是按照任務到達的先后順序執行。TaskQueue類的定義。

Java任務隊列代碼如下:

import java.util.Iterator;   import java.util.LinkedList;   import java.util.List;   public class TaskQueue {   private List<Task> queue = new LinkedList<Task>();   // 添加一項任務   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);   }   }   // 取得一項待執行任務   public synchronized Task getTask() {   Iterator<Task> it = queue.iterator();   Task task;   while (it.hasNext()) {   task = it.next();   // 尋找一個新建的任務   if (Task.State.NEW.equals(task.getState())) {   // 把任務狀態置為運行中   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<Task> queue = new LinkedList<Task>();  // 添加一項任務  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);  }  }  // 取得一項待執行任務  public synchronized Task getTask() {  Iterator<Task> it = queue.iterator();  Task task;  while (it.hasNext()) {  task = it.next();  // 尋找一個新建的任務  if (Task.State.NEW.equals(task.getState())) {  // 把任務狀態置為運行中  task.setState(Task.State.RUNNING);  return task;  }  }  return null;  }  }

關于如何進行Java任務隊列的定義與代碼的分析問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

密云县| 汉沽区| 阜新| 泰兴市| 合川市| 仪征市| 麟游县| 定陶县| 铜川市| 寿宁县| 革吉县| 灌云县| 惠来县| 天峨县| 芮城县| 南平市| 宜章县| 安化县| 邵东县| 巩义市| 泌阳县| 南雄市| 鄢陵县| 佛冈县| 漳浦县| 临江市| 广平县| 深泽县| 隆德县| 平远县| 乌兰察布市| 仙桃市| 普洱| 嘉鱼县| 东丽区| 福海县| 渝中区| 井研县| 新巴尔虎左旗| 汪清县| 都昌县|