Java线程池 一些简单应用


1.线程池:

       熟悉web的童鞋一定很熟悉连接池  连接池中存放的是Connection 而线程池存放的是Thread...  为何要引入线程池或者是连接池呢?货物疑问是为了提高效率   

 


线程池的例子:

int main(){

//创建线程池
ExecutorService  threadPools = Executors.newFixedThreadPool(3);
for(int i=1;i<11;i++){//模拟任务   12
final int task = i;
threadPools.execute(new Runnable() {
public void run() {
for(int j = 0 ;j<4;j++){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+" do times of "+j+"+ :task of .."+task);//匿名内部类使用变量必须是final修饰的
}
}
});
}
System.out.println("all task committed");

}

//创建缓存线程池

Executors.newCachedThreadPool();

//创建单一线程...(//如何实现线程死掉后重启?)

Executors.newSingleThreadExecutor();

2.用线程池启动定时器

定时器之一...某个时间点后执行任务

Executors.newScheduledThreadPool(3).schedule(new Runnable() {
public void run() {
System.out.println("boombing。。。");
}
}, 10, TimeUnit.SECONDS);

上述代码 实现了再某个时间后执行一项任务

定时器之二 ...某个点后执行任务 之后每隔多久都要执行.连环炸弹的实现显得格外简单

Executors.newScheduledThreadPool(3).scheduleAtFixedRate(new Runnable() {
public void run() {
System.out.println("fuck you");
}
}, 20, 2,TimeUnit.SECONDS);






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值