Java 线程池测试类详解编程语言
2023-06-13 09:20:30 时间
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class TestThreadPool {
private static int produceTaskSleepTime = 2;
private static int consumeTaskSleepTime = 2000;
private static int produceTaskMaxNumber = 10;
public static void main(String[] args) {
// 构造一个线程池
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(2, 4, 3,
TimeUnit.SECONDS, new ArrayBlockingQueue Runnable (2),
new ThreadPoolExecutor.DiscardOldestPolicy());
for (int i = 1; i = produceTaskMaxNumber; i++) {
try {
// 产生一个任务,并将其加入到线程池
String task = "task@ " + i;
System.out.println("put " + task);
threadPool.execute(new ThreadPoolTask(task));
// 便于观察,等待一段时间
Thread.sleep(produceTaskSleepTime);
} catch (Exception e) {
e.printStackTrace();
/**
* 线程池执行的任务
* @author hdpan
public static class ThreadPoolTask implements Runnable, Serializable {
private static final long serialVersionUID = 0;
// 保存任务所需要的数据
private Object threadPoolTaskData;
ThreadPoolTask(Object tasks) {
this.threadPoolTaskData = tasks;
public void run() {
// 处理一个任务,这里的处理方式太简单了,仅仅是一个打印语句
System.out.println("start .." + threadPoolTaskData);
try {
// //便于观察,等待一段时间
Thread.sleep(consumeTaskSleepTime);
} catch (Exception e) {
e.printStackTrace();
threadPoolTaskData = null;
public Object getTask() {
return this.threadPoolTaskData;
}
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/10902.html
cjava相关文章
- java线程池的面试题_献给准备面试的你,Java线程and线程池面试题小结「建议收藏」
- java中JSONArray、JSONObject、List、String之间的转换「建议收藏」
- java 实现 按位异或_Java 按位异或的性质及其妙用
- java启动器_JAVA基础:Java 启动器如何查找类
- java常量有哪些_Java中的常量有哪些?
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java populate_BeanUtils 以及BeanUtils.populate使用[通俗易懂]
- GitHub上标星75k+超牛的《Java面试突击版》,分享PDF离线版
- java 测试程序代码运行时间过长_Java测试
- JAVA程序员简历模板_Java工程师简历模板
- 【Java 集合】Java 集合的线程安全性 ( 加锁同步 | java.utils 集合 | 集合属性 | java.util.concurrent 集合 | CopyOnWrite 机制 )
- 中的应用Java中MySQL的灵活运用(mysql在java代码)
- 深入Linux环境下的Java测试(linuxjava测试)
- 使用Java连接Linux服务器的简单方法(java连接linux)
- 自动提交MySQL事务中的Java自动提交实践(mysql事务java)
- 程序Linux命令调用Java程序实现交互(linux命令java)
- 机制Redis Java中的过期机制精彩解析(redisjava过期)
- 时间设置Redis Key的Java过期时间(redisjava过期)
- Java如何启动MySQL?(java启动mysql)
- Java实现与Oracle数据库的无缝整合(java整合oracle)
- Java实现Redis队列锁功能(redis队列锁java)
- Java类锁、对象锁、私有锁冲突测试