博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 多线程测试代码_Java 线程池测试类
阅读量:6643 次
发布时间:2019-06-25

本文共 1468 字,大约阅读时间需要 4 分钟。

[java]代码库package net.oschina.tester;

import java.io.Serializable;

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(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;

}

}

}

//源代码片段来自云代码http://yuncode.net

694748ed64b9390909c0d88230893790.png

转载地址:http://fbevo.baihongyu.com/

你可能感兴趣的文章
CodeBlocks养眼的colour theme
查看>>
第九届ECNU Coder F.蚂蚁(栈)
查看>>
iOS开发-常见宏定义
查看>>
C# 通过反射实现类似MVC路由的机制
查看>>
转:PrintWriter中write与println方法的区别
查看>>
解构赋值,reset参数,扩展运算符,class,import、export
查看>>
HTML中汉字空格占位符
查看>>
下拉加载更多
查看>>
Leetcode | Sort Colors
查看>>
video.js播放rtmp流2
查看>>
类欧几里得算法
查看>>
2013 Multi-University Training Contest 5 部分解题报告
查看>>
IP TCP HTTP Socket的区别
查看>>
js函数
查看>>
压缩图片的算法
查看>>
人生不可能完美因此我们要学会讲究着过
查看>>
正则表达式详解
查看>>
.net RAW(16)与GUID互相转换
查看>>
DE1-soc软件实验”hello_word"
查看>>
第一个vi
查看>>