java线程池

在java线程池中,线程的目标对象可以共享线程池中的线程对象

ExecutorService有3中实现方式

1、ExecutorService executorService=Executors.newSimpleTread();

创建单一线程,如果多次执行的话,这个线程会一直循环执行下去

2\ExecutorService executorService=Executors.newFixedTreadPool(10);

创建固定线程数,虚拟机在初始化10个线程数

3\ExecutorService executorService=Executors.newScheduleTreadPool(10);

缓存线程数,在程序开启时,虚拟机会创建10个线程,随着系统的需求会增加线程,线程的上限为系统资源的上限


shutdown 方法将执行平缓的关闭过程:不在接受新的任务,同时等待已经提交的任务执行完成---包括那些还未开始执行的任务。
shutdownNow 方法将执行粗暴的关闭过程:他将尝试取消所有运行中的任务,并且不再启动队列中尚未开始执行的任务。
isShutdown 判断之前是否调用过shutdown
isTerminated 判断所有提交的任务是否完成(保证之前调用过shutdown方法)
awaitTermination 调用shutdown方法后,等待所有任务执行完成


例子

public  class  TestThread implements Runnable{

  @Override
    public void run() {
     }
    }

}

public class test{
  public static  void main(String[] arges){
ExecutorService executorService=Executors.newScheduleTreadPool(10);//创建缓存线程池
        for (int i = 0; i <100 ; i++) {
            executorService.execute(new TestThread()));
        }
        executorService.shutdown();//关闭线程池

·   while(!executorService.isTerminated()) {}

}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值