JAVA编码(41)—— 线程池队列执行任务(ThreadPoolQueue)(1)
废话少说,上代码
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)相关推荐
- java线程优先级队列等待_java线程池队列优先级(插队)Demo
在做线程池操作的时候,突然来个加紧处理时,会很纠结,不知道怎么处理让加紧的线程插队先执行.该Demo使用了自定义线程池,采用优先级阻塞式队列(PriorityBlockingQueue)的方式来处理插 ...
- java线程池延期执行一次_Java使用者的延期执行
java线程池延期执行一次 在前面的博客文章(" 延迟执行Java的供应商 "),我引用礁HORSTMANN的陈述书中' 的Java SE8为真的很急关于lambda表达式','所 ...
- java线程池队列场景,Java面试题汇总
01 并发宝典:面试专题 面试专题分为四个部分,分别如下 Synchronized 相关问题 可重入锁 ReentrantLock 及其他显式锁相关问题 Java 线程池相关问题 Java 内存模型相 ...
- Java并发编程——线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统 ...
- java多线程及线程池使用
Java多线程及线程池的使用 Java多线程 一.Java多线程涉及的包和类 二.Java创建多线程的方式 三.Java线程池 1. 创建线程池ThreadPoolExecutor的7个参数 2. 线 ...
- Java 并发编程 -- 线程池源码实战
一.概述 小编在网上看了好多的关于线程池原理.源码分析相关的文章,但是说实话,没有一篇让我觉得读完之后豁然开朗,完完全全的明白线程池,要么写的太简单,只写了一点皮毛,要么就是是晦涩难懂,看完之后几乎都 ...
- Java四种线程池使用
Java 四种线程池的使用 https://juejin.im/post/59df0c1af265da432f301c8d 1,线程池的作用 线程池作用就是限制系统中执行线程的数量. 根据系统的环 ...
- Java常用四大线程池用法以及ThreadPoolExecutor详解
2019独角兽企业重金招聘Python工程师标准>>> 为什么用线程池? 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率 2.线程并发数量过多 ...
- Java并发:线程池详解(ThreadPoolExecutor)
前言 现在在实现异步时,基本都是使用线程池来实现,线程池在工作应用的还是比较频繁的,本文将就线程池的使用.相关原理和主要方法源码进行深入讲解学习. 线程池的基本使用 package com.joonw ...
最新文章
- Spring 面试题(2021最新版)赶紧收藏!
- 大巧不工-WEB前端设计修炼之道pdf
- iframe嵌入页面白屏_Vue使用iframe嵌入第三方网页并修改标题
- 【多线程学习笔记】sychronized关键字底层原理、sychronized与ReentrantLock、volatile和synchronized
- python csv使用_python CSV模块的使用
- ios 设置属性的center_【从0到1的Stata图表学习1】图例设置
- data Mining with Weka: Trailer More Data Mining with Weka 用weka 进行数据挖掘 Weka 用weka 进行更多数据挖掘...
- a标签加onclick点击事件
- pip install -r requirements.txt 超时解决方案
- Repeater OnItemCommand 失效
- 那些软件可以测试网速,怎么测试网速 测试网速用什么软件
- Openg图像缓存及显存布局
- android仿微信图片选择预览裁剪,仿微信图片选择
- 患病职工解除劳动关系可以吗
- java上传文件怎么设置成777权限_777权限是什么意思?文件夹权限为777如何修改设置?...
- 编码方法论:设计数据结构
- 网络流--最大流问题
- Shell语言基本语法总结(4)正则表达式与文本处理之grep
- 2020天猫淘宝双11超级红包怎么领
- 大型多人在线游戏服务器架构设计 - RPC封装原理