Java ExecutorService管理线程池的简单用法

本文介绍了Java中ExecutorService管理线程池的基本使用,包括如何通过ThreadPoolExecutor创建不同规模和特性的线程池。通过示例展示了如何使用ExecutorService启动任务,以及线程池的常见操作。
摘要由CSDN通过智能技术生成

可以在 java.util.concurrent中找到管理线程池的顶级接口 Executors

import java.util.concurrent.*;

Executors 接口定义了一个 execute()方法,接收一个实例化的Runnable对象,来启动这个任务,不过常用的还是 ExecutorService

ExecutorService 类继承自 Executors,但是提供相当方便的一些方法,可以通过下面的代码来创建不同规模,不同特性的线程池,返回值是ExecutorService 对象

创建不同规模/特性的线程池

/*
构造输入	:无
返回值  	: 一个ExecutorService对象
特性 	: 创建灵活的线程池,如果线程池过大,会自动调整,回收一些线程
*/
Executors.newCachedThreadPool();
/*
构造输入	:int,线程池最大并发数量
返回值  	: 一个ExecutorService对象
特性 	: 创建固定尺寸的线程池,限制最大并发的线程数目,超出指定数目的线程会在队列中等待直到有空位
*/
Executors.newFixedThreadPool(int);
/*
构造输入	:无
返回值  	: 一个ExecutorService对象
特性 	: 创建单个线程的线程池,只会执行一个线程,按照先进先出执行
*/
Executors.newSingleThreadExecutor();

常见方法:

/*
submit 方法接收一个实例化的Thread或者Runnable对象,将接收对象添加进线程池
*/
submit()
/*
表示之后不再有新的线程加入了
*/
shutdo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值