真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何進(jìn)行Java任務(wù)隊(duì)列的定義與代碼的分析

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

10年積累的成都網(wǎng)站建設(shè)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有洞頭免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Java任務(wù)隊(duì)列需要我們詳細(xì)的學(xué)習(xí),當(dāng)然我們在不斷的使用中還需要注意相關(guān)信息的學(xué)習(xí)。下面我們就先來看看TaskQueue(任務(wù)隊(duì)列)的具體應(yīng)用。下面我們就詳細(xì)的學(xué)習(xí)下。

在同一時刻,可能有很多任務(wù)需要執(zhí)行,而程序在同一時刻只能執(zhí)行一定數(shù)量的任務(wù),當(dāng)需要執(zhí)行的任務(wù)數(shù)超過了程序所能承受的任務(wù)數(shù)時怎么辦呢?這就有了先執(zhí)行哪些任務(wù),后執(zhí)行哪些任務(wù)的規(guī)則。

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

Java任務(wù)隊(duì)列代碼如下:

import java.util.Iterator;   import java.util.LinkedList;   import java.util.List;   public class TaskQueue {   private List queue = new LinkedList();   // 添加一項(xiàng)任務(wù)   public synchronized void addTask(Task task) {   if (task != null) {   queue.add(task);   }   }   // 完成任務(wù)后將它從任務(wù)隊(duì)列中刪除   public synchronized void finishTask(Task task) {   if (task != null) {   task.setState(Task.State.FINISHED);   queue.remove(task);   }   }   // 取得一項(xiàng)待執(zhí)行任務(wù)   public synchronized Task getTask() {   Iterator it = queue.iterator();   Task task;   while (it.hasNext()) {   task = it.next();   // 尋找一個新建的任務(wù)   if (Task.State.NEW.equals(task.getState())) {   // 把任務(wù)狀態(tài)置為運(yùn)行中   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();  // 添加一項(xiàng)任務(wù)  public synchronized void addTask(Task task) {  if (task != null) {  queue.add(task);  }  }  // 完成任務(wù)后將它從任務(wù)隊(duì)列中刪除  public synchronized void finishTask(Task task) {  if (task != null) {  task.setState(Task.State.FINISHED);  queue.remove(task);  }  }  // 取得一項(xiàng)待執(zhí)行任務(wù)  public synchronized Task getTask() {  Iterator it = queue.iterator();  Task task;  while (it.hasNext()) {  task = it.next();  // 尋找一個新建的任務(wù)  if (Task.State.NEW.equals(task.getState())) {  // 把任務(wù)狀態(tài)置為運(yùn)行中  task.setState(Task.State.RUNNING);  return task;  }  }  return null;  }  }

關(guān)于如何進(jìn)行Java任務(wù)隊(duì)列的定義與代碼的分析問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


當(dāng)前名稱:如何進(jìn)行Java任務(wù)隊(duì)列的定義與代碼的分析
文章源于:http://weahome.cn/article/jshdhh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部