package com.lxj.theadpool;
import java.util.Date;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@SuppressWarnings("unused")
public class Test1 {
public static void main(String[] args) {
/*
* newSingleThreadExecutor()
* 创建一个单线程的线程池。该线程只有一个线程工作,即单线程串行执行所有任务。
* 如果这个唯一的线程以为异常结束,则会自动创建一个新的线程来接替它。
* 此线程保证所有任务的执行顺序按照任务的提交顺序执行。
*/
// ExecutorService executor = Executors.newSingleThreadExecutor();
/*
* newFixedThreadPool(int nTreads)
* 创建nTreads参数指定大小的线程池,每次提交一个任务就创建一个线程,知道线程达到线程池的最大大小。
* 线程池一旦达到最大值就会保持不变,此时如果有新的任务提交,则排队等待。
* 如果某个线程因为执行异常而结束,那么线程池会补充一个新的线程。
*/
// ExecutorService executor = Executors.newFixedThreadPool(3);
/*
* newCachedThreadPool()
* 创建一个可缓存的的线程池。如果线程池的大小超过了处理任务所需的线程,那么就会会回收部分空闲(超过60s不执行任务)的线程。
* 当任务数增加时,此线程池又可以智能地添加新线程来处理任务。
* 此线程池不会对线程池做限制,其能够创建的最大线程数量取决于当期平台。
*/
// ExecutorService executor = Executors.newCachedThreadPool();
/*
* newSingleThreadScheduledExecutor()
* 创建一个单线程的线程池,支持任务调度,可以在指定的延时后或周期性执行线程任务
*/
// ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
/*
* newScheduledThreadPool(int corePoolSize)
* 创建corePoolSize参数所指定大小的线程池,支持任务调度,可以在指定延时后或周期性执行线程任务。
* 执行任务完毕后即使线程是空闲的也被保存在线程池内。
*/
ScheduledExecutorService executor = Executors.newScheduledThreadPool(3);
System.out.println(new Date());
for (int i = 0; i < 6; i++) {
// executor.submit(new Task());// 执行新任务
executor.schedule(new Task(), 1000, TimeUnit.MILLISECONDS);
}
executor.shutdown();// 关闭线程池
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Spring.zip (54个子文件)
Spring
pom.xml 1KB
.springBeans 527B
target
test-classes
com
lxj
www
TestOrder.class 937B
theadpool
TestSpringThread.class 2KB
Test1.class 1KB
myaop
TestAopProxyDynamic.class 1KB
Test1.class 672B
springAop
TestSpringAop.class 1001B
m2e-wtp
web-resources
META-INF
maven
01
Spring
pom.xml 1KB
pom.properties 220B
MANIFEST.MF 104B
classes
com
lxj
www
Order.class 3KB
OrderItem.class 1KB
Date.class 477B
theadpool
Task.class 1KB
myaop
ServiceImpl.class 1KB
AopProxyDynamic.class 1KB
TransactionManager.class 812B
Service.class 199B
springAop
TransactionManager.class 1KB
GoodsService.class 1KB
bean.xml 2KB
applicationContext.xml 4KB
.settings
org.eclipse.m2e.core.prefs 90B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.wst.common.component 659B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.validation.prefs 50B
.jsdtscope 639B
org.eclipse.jdt.core.prefs 430B
src
test
java
com
lxj
www
TestOrder.java 966B
theadpool
TestSpringThread.java 914B
Test1.java 3KB
myaop
TestAopProxyDynamic.java 740B
Test1.java 239B
springAop
TestSpringAop.java 478B
main
webapp
WEB-INF
web.xml 159B
index.jsp 57B
resources
bean.xml 2KB
applicationContext.xml 4KB
java
com
lxj
www
Order.java 2KB
Date.java 108B
OrderItem.java 594B
theadpool
Task.java 573B
myaop
AopProxyDynamic.java 1KB
ServiceImpl.java 700B
TransactionManager.java 380B
Service.java 375B
springAop
GoodsService.java 584B
TransactionManager.java 765B
.project 1KB
.classpath 2KB
.tern-project 162B
共 54 条
- 1
资源评论
雪霁初晴
- 粉丝: 4
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功