日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java任務(wù)隊列的定義與代碼的詳細(xì)介紹

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

為田家庵等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及田家庵網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、田家庵網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

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

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

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

 
 
 
  1. import java.util.Iterator;   
  2. import java.util.LinkedList;   
  3. import java.util.List;   
  4. public class TaskQueue {   
  5. private List queue = new LinkedList();   
  6. // 添加一項任務(wù)   
  7. public synchronized void addTask(Task task) {   
  8. if (task != null) {   
  9. queue.add(task);   
  10. }   
  11. }   
  12. // 完成任務(wù)后將它從任務(wù)隊列中刪除   
  13. public synchronized void finishTask(Task task) {   
  14. if (task != null) {   
  15. task.setState(Task.State.FINISHED);   
  16. queue.remove(task);   
  17. }   
  18. }   
  19. // 取得一項待執(zhí)行任務(wù)   
  20. public synchronized Task getTask() {   
  21. Iterator it = queue.iterator();   
  22. Task task;   
  23. while (it.hasNext()) {   
  24. task = it.next();   
  25. // 尋找一個新建的任務(wù)   
  26. if (Task.State.NEW.equals(task.getState())) {   
  27. // 把任務(wù)狀態(tài)置為運行中   
  28. task.setState(Task.State.RUNNING);   
  29. return task;   
  30. }   
  31. }   
  32. return null;   
  33. }   
  34. }   
  35. import java.util.Iterator;  
  36. import java.util.LinkedList;  
  37. import java.util.List;  
  38. public class TaskQueue {  
  39. private List queue = new LinkedList();  
  40. // 添加一項任務(wù)  
  41. public synchronized void addTask(Task task) {  
  42. if (task != null) {  
  43. queue.add(task);  
  44. }  
  45. }  
  46. // 完成任務(wù)后將它從任務(wù)隊列中刪除  
  47. public synchronized void finishTask(Task task) {  
  48. if (task != null) {  
  49. task.setState(Task.State.FINISHED);  
  50. queue.remove(task);  
  51. }  
  52. }  
  53. // 取得一項待執(zhí)行任務(wù)  
  54. public synchronized Task getTask() {  
  55. Iterator it = queue.iterator();  
  56. Task task;  
  57. while (it.hasNext()) {  
  58. task = it.next();  
  59. // 尋找一個新建的任務(wù)  
  60. if (Task.State.NEW.equals(task.getState())) {  
  61. // 把任務(wù)狀態(tài)置為運行中  
  62. task.setState(Task.State.RUNNING);  
  63. return task;  
  64. }  
  65. }  
  66. return null;  
  67. }  

以上就是對Java任務(wù)隊列的詳細(xì)介紹。

【編輯推薦】

  1. JavaScript最讓人費解的十件事
  2. 了解Java日志系統(tǒng)框架的設(shè)計與實現(xiàn)
  3. 在敏捷開發(fā)中編寫高質(zhì)量Java代碼
  4. Java類中熱替換的概念、設(shè)計與實現(xiàn)
  5. Python編程語言在Java中的使用效果

名稱欄目:Java任務(wù)隊列的定義與代碼的詳細(xì)介紹
文章源于:http://m.5511xx.com/article/ccccsds.html