废话少说,上代码

package com.sinosoft;import java.util.concurrent.*;/*** Created by xushuyi on 2017/4/9.*/
public class ThreadPoolQueue {/*** 定义线程池中最大的线程数量*/private static final Integer THREADPOOLSIZE = 100;/*** 创建线程队列*/private static final BlockingQueue<Object[]> QUEUE = new LinkedBlockingQueue<Object[]>();/*** 创建线程池*/protected static ExecutorService executorService = Executors.newFixedThreadPool(THREADPOOLSIZE);/*** 线程池任务调度执行*/static {executorService.execute(new Runnable() {public void run() {while (!Thread.currentThread().isInterrupted()) {Object[] task = null;try {task = QUEUE.take();} catch (Exception e) {e.printStackTrace();}System.out.println("执行任务结果:" + task[0]);}}});}/*** 线程池中添加执行任务** @param task t*/public void newTaskToThreadPool(Object[] task) {QUEUE.offer(task);}public static void main(String[] args) {ThreadPoolQueue queue = new ThreadPoolQueue();Object[] task = null;for (int i = 0; i < 10; i++) {task = new Object[]{"xushuyi_" + i};queue.newTaskToThreadPool(task);}}
}

真正项目中,就不会再使用static来初始化任务,而是定义一个方法,比如:public void runnbaleInit(),那么在配置文件中需要将本方法注入到Bean中

例如:

<bean id="policyMicroProductServiceSpringImpl" class="com.sinosoft.wechatscreen.service.impl.PolicyMicroProductServiceSpringImpl" init-method="runnbaleInit"></bean>

转载于:https://www.cnblogs.com/xushuyi/articles/6686327.html

JAVA编码(41)—— 线程池队列执行任务(ThreadPoolQueue)(1)相关推荐

  1. java线程优先级队列等待_java线程池队列优先级(插队)Demo

    在做线程池操作的时候,突然来个加紧处理时,会很纠结,不知道怎么处理让加紧的线程插队先执行.该Demo使用了自定义线程池,采用优先级阻塞式队列(PriorityBlockingQueue)的方式来处理插 ...

  2. java线程池延期执行一次_Java使用者的延期执行

    java线程池延期执行一次 在前面的博客文章(" 延迟执行Java的供应商 "),我引用礁HORSTMANN的陈述书中' 的Java SE8为真的很急关于lambda表达式','所 ...

  3. java线程池队列场景,Java面试题汇总

    01 并发宝典:面试专题 面试专题分为四个部分,分别如下 Synchronized 相关问题 可重入锁 ReentrantLock 及其他显式锁相关问题 Java 线程池相关问题 Java 内存模型相 ...

  4. Java并发编程——线程池的使用

    在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统 ...

  5. java多线程及线程池使用

    Java多线程及线程池的使用 Java多线程 一.Java多线程涉及的包和类 二.Java创建多线程的方式 三.Java线程池 1. 创建线程池ThreadPoolExecutor的7个参数 2. 线 ...

  6. Java 并发编程 -- 线程池源码实战

    一.概述 小编在网上看了好多的关于线程池原理.源码分析相关的文章,但是说实话,没有一篇让我觉得读完之后豁然开朗,完完全全的明白线程池,要么写的太简单,只写了一点皮毛,要么就是是晦涩难懂,看完之后几乎都 ...

  7. Java四种线程池使用

    Java 四种线程池的使用 https://juejin.im/post/59df0c1af265da432f301c8d 1,线程池的作用  线程池作用就是限制系统中执行线程的数量.  根据系统的环 ...

  8. Java常用四大线程池用法以及ThreadPoolExecutor详解

    2019独角兽企业重金招聘Python工程师标准>>> 为什么用线程池? 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率 2.线程并发数量过多 ...

  9. Java并发:线程池详解(ThreadPoolExecutor)

    前言 现在在实现异步时,基本都是使用线程池来实现,线程池在工作应用的还是比较频繁的,本文将就线程池的使用.相关原理和主要方法源码进行深入讲解学习. 线程池的基本使用 package com.joonw ...

最新文章

  1. Spring 面试题(2021最新版)赶紧收藏!
  2. 大巧不工-WEB前端设计修炼之道pdf
  3. iframe嵌入页面白屏_Vue使用iframe嵌入第三方网页并修改标题
  4. 【多线程学习笔记】sychronized关键字底层原理、sychronized与ReentrantLock、volatile和synchronized
  5. python csv使用_python CSV模块的使用
  6. ios 设置属性的center_【从0到1的Stata图表学习1】图例设置
  7. data Mining with Weka: Trailer More Data Mining with Weka 用weka 进行数据挖掘 Weka 用weka 进行更多数据挖掘...
  8. a标签加onclick点击事件
  9. pip install -r requirements.txt 超时解决方案
  10. Repeater OnItemCommand 失效
  11. 那些软件可以测试网速,怎么测试网速 测试网速用什么软件
  12. Openg图像缓存及显存布局
  13. android仿微信图片选择预览裁剪,仿微信图片选择
  14. 患病职工解除劳动关系可以吗
  15. java上传文件怎么设置成777权限_777权限是什么意思?文件夹权限为777如何修改设置?...
  16. 编码方法论:设计数据结构
  17. 网络流--最大流问题
  18. Shell语言基本语法总结(4)正则表达式与文本处理之grep
  19. 2020天猫淘宝双11超级红包怎么领
  20. 大型多人在线游戏服务器架构设计 - RPC封装原理

热门文章

  1. 实现日、周、月排行统计 sql
  2. 红帽将召开“开放你的世界”在线论坛
  3. vue项目配置eslint(附visio studio code配置)
  4. JS组件系列——Bootstrap 树控件使用经验分享 - 懒得安分 - 博客园
  5. Spring-BeanFactory源码分析
  6. docker --- 镜像、容器
  7. Zabbix 钉钉报警
  8. R语言编程艺术(3)R语言编程基础
  9. Keras 深度学习框架中文文档
  10. childNodes详解