成都创新互联网站制作重庆分公司

如何进行Java任务队列的定义与代码的分析

如何进行Java任务队列的定义与代码的分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

10年积累的成都网站建设、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有洞头免费网站建设让你可以放心的选择与我们合作。

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 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);   }   }   // 取得一项待执行任务   public synchronized Task getTask() {   Iterator 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 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);  }  }  // 取得一项待执行任务  public synchronized Task getTask() {  Iterator 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任务队列的定义与代码的分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


标题名称:如何进行Java任务队列的定义与代码的分析
网址分享:http://cxhlcq.com/article/jshdhh.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部