Java任务队列在不断的学习中需要我们掌握很多相关的技术信息。

首先,下面我们就看看如何应用TaskQueue的具体问题。

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 任务队列相关推荐

  1. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  2. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  3. java 多线程 任务队列_Java并发编程线程池任务队列

    类ThreadPoolExecutor最常使用的构造方法是: ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliv ...

  4. java 过载_java – ExecutorService,避免任务队列过载的标准方式

    诀窍是使用固定的队列大小和: new ThreadPoolExecutor.CallerRunsPolicy() 我也建议使用Guava的ListeningExecutorService. 这是消费者 ...

  5. java任务_Java 任务处理

    最近梳理其他同事以前写的 job 后有点想法,记录下. 一.业务场景 在大多数的系统都有类似这样的逻辑,比如下单了给用户赠送积分,用户在论坛上发表了帖子,给用户增加积分等等. 下单赠送积分,那么一个订 ...

  6. 普罗米修斯监控java项目_java学到什么程度可以出去实习?

    把基础的知识学完,然后再学个框架,比如常见的SSH,SSM之类的,自己能用这个框架做个简单的项目,就可以了 简单的来说就是把下方的视频教程学完就可以找工作了(需要完整的资料可以找up) Java零基础 ...

  7. java计时器_Java 计时器

    1.Timer and TimerTask: Timer是jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以指定执行一次或者反复执行多次. TimerTas ...

  8. python 任务队列 huey_Module-Huey任务队列

    Huey 使用手册 环境依赖 Python2.7+ or Python3.4+ Huey简介 一个轻量Python2.7+ Python3.4+ 轻巧的消息队列. 功能说明 huey支持: 多进程,多 ...

  9. Ajax接收Java异常_java – 处理来自Servlet的Jquery AJAX响应中的异常

    我的servlet代码是 try{ //something response.setStatus(201); out.print("Data successfully saved" ...

  10. java 原子量_Java原子量 - Rickxue的个人空间 - OSCHINA - 中文开源技术交流社区

    所谓的原子量即操作变量的操作是"原子的",该操作不可再分,因此是线程安全的. 为何要使用原子变量呢,原因是多个线程对单个变量操作也会引起一些问题.在Java5之前,可以通过vola ...

最新文章

  1. R语言双因素方差分析
  2. UML几个关系图表示
  3. C++判断网络是否连接
  4. 秒杀 mysql 事务_秒杀怎么样才可以防止超卖?基于mysql的事务和锁实现
  5. Win32串口操作的技巧
  6. oracle独立事务,Oracle中独立事务的处理
  7. vim支持nginx语法高亮
  8. Java练习 SDUT-1586_计算组合数
  9. mongo04---基本查询
  10. Modify HTTP Headers (Examples)
  11. 深入kubernetes之Pod——一pod多容器
  12. canvas转盘抽奖的实现(二)
  13. 数据结构 2-2 线性表的顺序表实现
  14. Java基础复习——访问权限
  15. Flash,EEPROM差别
  16. 北京市市级行政区域数据
  17. mysql 复制 数据 表结构_MySQL复制表结构和表数据
  18. Java使用Spring Boot、Maven、Spring RestTemplate集成腾讯云通信
  19. js基础 js函数作用域链
  20. BACnet/IP之BACnet4j学习java代码例子属性读写同网段跨主机02

热门文章

  1. 腾讯音乐2020年报:懒人听书收购完成,谢振宇、太盟投资减持
  2. Q-learning原理及其实现方法
  3. 银行业务中台这么搞,新产品上线提速60%
  4. IntelliJ Save Action
  5. ios13 微信提示音插件_iOS13免越狱修改微信提示音方法!亲测有用!
  6. cad快看_星期日来啦!分享5个珍藏已久的电影网站,各种大片免费看
  7. 多线程:synchronized关键字解析
  8. 参考文献中文字符间距过大问题
  9. 天行健,君子以自强不息;地势坤,君子以厚德载物 释意
  10. 新赛季的中超和国安,荆棘中前行