spring-线程池(3)
一、初始化
1,直接调用
import java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
ThreadPoolTaskExecutor poolTaskExecutor = new ThreadPoolTaskExecutor();
//线程池所使用的缓冲队列
poolTaskExecutor.setQueueCapacity(10);
//线程池维护线程的最少数量
poolTaskExecutor.setCorePoolSize(2);
//线程池维护线程的最大数量
poolTaskExecutor.setMaxPoolSize(3);
//线程池维护线程所允许的空闲时间
poolTaskExecutor.setKeepAliveSeconds(300); poolTaskExecutor.setRejectedExecutionHandler(new CallerRunsPolicy());
poolTaskExecutor.initialize(); for (int i = 0; i < 25; i++) {
MessagePrinterTask m=new MessagePrinterTask("Message" + i);
poolTaskExecutor.execute(m);
System.out.println("add Thread:"+i);
} }
}
结果是
aaarticlea/png;base64,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" alt="" />
spring-线程池(3)的更多相关文章
- Spring线程池开发实战
Spring线程池开发实战 作者:chszs,转载需注明. 作者博客主页:http://blog.csdn.net/chszs 本文提供了三个Spring多线程开发的例子,由浅入深,由于例子一目了然, ...
- Spring线程池配置模板设计(基于Springboot)
目录 线程池配置模板 基础的注解解释 常用配置参数 配置类设计 线程池使用 ThreadPoolTaskExecutor源码 线程池配置模板 springboot给我们提供了一个线程池的实现,它的底层 ...
- Spring线程池ThreadPoolTaskExecutor配置及详情
Spring线程池ThreadPoolTaskExecutor配置及详情 1. ThreadPoolTaskExecutor配置 <!-- spring thread pool executor ...
- 分享知识-快乐自己:Spring线程池配置
Spring通过ThreadPoolTaskExecutor实现线程池技术,它是使用jdk中的Java.util.concurrent.ThreadPoolExecutor进行实现. Spring 配 ...
- Spring线程池由浅入深的3个示例
作者博客主页:http://blog.csdn.net/chszs 本文提供了三个Spring多线程开发的例子,由浅入深,由于例子一目了然,所以并未做过多的解释.诸位一看便知. 前提条件: 1)在Ec ...
- 【SSM Spring 线程池 OJ】 使用Spring线程池ThreadPoolTaskExecutor
最近做的Online Judge项目,在本地判题的实现过程中,遇到了一些问题,包括多线程,http通信等等.现在完整记录如下: OJ有一个业务是: 用户在前端敲好代码,按下提交按钮发送一个判题请求给后 ...
- spring线程池的同步和异步(1)
spring线程池(同步.异步) 一.spring异步线程池类图 二.简单介绍 2.1. TaskExecutor---Spring异步线程池的接口类,其实质是java.util.concurrent ...
- 007-多线程-JUC线程池-Spring线程池配置、池子如何配置参数
一.概述 Spring通过ThreadPoolTaskExecutor实现线程池技术,它是使用jdk中的Java.util.concurrent.ThreadPoolExecutor进行实现. 1.1 ...
- JDK线程池和Spring线程池的使用
JDK线程池和Spring线程池实例,异步调用,可以直接使用 (1)JDK线程池的使用,此处采用单例的方式提供,见示例: public class ThreadPoolUtil { private s ...
- spring线程池配置
源自:http://zjriso.iteye.com/blog/771706 1.了解 TaskExecutor接口 Spring的TaskExecutor接口等同于java.util.concurr ...
随机推荐
- 应用程序写Xml文档
主要用到CreateElement.CreateTextNode.CreateComment.AppendChild.InsertAfter方法 代码如下: XmlDocument document ...
- filter滤镜的使用
刚开始学css,开始遇到filter不懂什么意思后来到网上查了,觉得解释的很全面,就把它抠下来,以便自己经常来看看. CSS滤镜的使用方法:filter:filtername(parameters) ...
- css常用技巧集合
1 不想让按钮touch时有蓝色的边框或半透明灰色遮罩(根据系统而定) /*解决方式一*/ -webkit-tap-highlight-color:rgba(0,0,0,0); -webkit-use ...
- Use “error_messages” in Rails 3.2? (raises “undefined method” error)
I am getting the following error in my Rails 3.2 functional tests: ActionView::Template::Error: unde ...
- 编译MangosZero
最近研究了一下魔兽世界模拟器MangosZero,花了两天时间终于编译成功!现在把编译的过程做个完整的记录,以便让想要学习编译的同学们少走弯路! 服务器端运行界面: 客户端运行界面: 一:下载源程序 ...
- ASP.NET CORE部署到Linux
ASP.NET CORE部署到CentOS中 在Linux上安装.NET Core 参考:https://www.microsoft.com/net/core#linuxcentos 配置Nginx ...
- 基于MATLAB的数字基带信号的各种码型的产生
单极性非归零码 单极性非归零码使用电平1来表示二元信息中的“1”,用电平0来表示二元信息中的“0”,电平在整个码元的时间里不变单极性非归零码的优点是实现简单,但由于含有直流分量,对在带限信道中的传输不 ...
- canvas与svg区别
canvas与svg区别 和SVG比起来有两个弱点,一个是画布里的内容是独立的,不能当成html元素:二是CANVAS是属于位图格式,而SVG是矢量图,可以平滑放大. HTML5的canvas画出来的 ...
- node.js系列(实例):原生node.js+formidable模块实现简单的文件上传
/** * 原生node.js结合formidable模块实现图片上传改名 * @Author:Ghost * @Date:2016/07/15 * @description: * 1.引入模块htt ...
- DirectFB的架构介绍
**************************************************************************************************** ...