Java线程池的使用

简单使用一下java的线程池:newFixedThreadPool,即固定大小的线程池

贴一个模板:

//创建固定大小线程池
log.info("【请求表线程池】创建线程池,上限10");
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(10);
    try{
		for (final String id : ids) {
			log.info("【请求表线程池】创建线程执行删除操作,请求表id:"+id);
			fixedThreadPool.execute(new Runnable() {
				@Override
				public void run() {
				    systemLogDao.delete(id);
				}
			});
		}
		//关闭线程池
		fixedThreadPool.shutdown();
		while (!fixedThreadPool.awaitTermination(30, TimeUnit.SECONDS)) {
				log.info("【请求表线程池】执行请求中,子线程正在运行中,线程池未关闭。");
		}
	}catch (InterruptedException e) {
		e.printStackTrace();
		log.error("【请求表线程池】执行请求线程池出现异常,取消所有遗留的任务",e);
		fixedThreadPool.shutdownNow();
	}catch (Exception e) {
		e.printStackTrace();
		log.error("【请求表线程池】执行请求线程池出现异常,取消所有遗留的任务",e);
		fixedThreadPool.shutdownNow();
	}

代码的功能是:删除日志表操作

1.创建大小为10的定长线程池

2.每次循环,从线程池中取一个线程进行删除操作(超过10后,会将删除任务放入一个可无限增长的阻塞队列中,当有空闲线程时,会从队列中取出最先的任务进行操作)

一篇学习的文章:https://www.cnblogs.com/superfj/p/7544971.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值