package com.dy.common.threadPool;
|
|
|
public class Test {
|
|
//
|
// public static void main(String args[])throws Exception {
|
//// Test t = new Test();
|
//// t.testShort1();
|
//// t.testShort2();
|
//// t.testLong();
|
// }
|
|
/**
|
* 测试增加线程线程
|
* @throws Exception
|
*
|
*/
|
@SuppressWarnings("unused")
|
private void testShort1() throws Exception {
|
TreadPoolFactory.initThreadPoolShort("测试线程组", 2, 1, 10, 20);
|
ThreadPool.Pool pool = TreadPoolFactory.getThreadPoolShort() ;
|
try {
|
int n = 1 ;
|
Thread.sleep(1000);
|
while (n < 4) {
|
System.out.println("加入短工作任务(" + n + ")");
|
pool.putJob(new ThreadPool.Job() {
|
public void execute() {
|
System.out.println("!!!!!开始短工作" + this.hashCode());
|
try {
|
Thread.sleep(2000);
|
} catch (Exception e) {
|
;
|
}
|
System.out.println("!!!!!结束短工作" + this.hashCode());
|
}
|
@Override
|
public void destroy(){
|
}
|
@Override
|
public boolean isDestroy(){
|
return false ;
|
}
|
});
|
n++ ;
|
Thread.sleep(100);
|
}
|
} catch (Exception e) {
|
|
}
|
}
|
/**
|
* 测试增加线程线程
|
* @throws Exception
|
*
|
*/
|
@SuppressWarnings("unused")
|
private void testShort2() throws Exception {
|
TreadPoolFactory.initThreadPoolShort("测试短工作线程组", 2, 1, 5, 6);
|
ThreadPool.Pool pool = TreadPoolFactory.getThreadPoolShort() ;
|
try {
|
int n = 1 ;
|
Thread.sleep(1000);
|
while (n < 2) {
|
System.out.println("加入短工作任务(" + n + ")");
|
pool.putJob(new ThreadPool.Job() {
|
@Override
|
public void execute() {
|
Long times = 0L ;
|
System.out.println("!!!!!开始短工作" + this.hashCode());
|
while(true){
|
if(this.isDestroy == null || !this.isDestroy.booleanValue()){
|
times++ ;
|
System.out.println("!!!!!执行短工作" + this.hashCode() + " 次数:" + times);
|
try {
|
Thread.sleep(2000);
|
} catch (Exception e) {
|
;
|
}
|
// System.out.println("!!!!!结束长工作" + this.hashCode());
|
}
|
}
|
}
|
@Override
|
public void destroy(){
|
this.isDestroy = true ;
|
}
|
@Override
|
public boolean isDestroy(){
|
if(this.isDestroy == null){
|
return false ;
|
}
|
return this.isDestroy.booleanValue() ;
|
}
|
private Boolean isDestroy;
|
});
|
n++ ;
|
Thread.sleep(100);
|
}
|
} catch (Exception e) {
|
|
}
|
}/**
|
* 测试增加线程线程
|
* @throws Exception
|
*
|
*/
|
@SuppressWarnings("unused")
|
private void testLong() throws Exception {
|
TreadPoolFactory.initThreadPoolLong("测试长工作线程组", -1, 1, 5, -1);
|
ThreadPool.Pool pool = TreadPoolFactory.getThreadPoolLong() ;
|
try {
|
int n = 1 ;
|
Thread.sleep(1000);
|
while (n < 2) {
|
System.out.println("加入长工作任务(" + n + ")");
|
pool.putJob(new ThreadPool.Job() {
|
@Override
|
public void execute() {
|
Long times = 0L ;
|
System.out.println("!!!!!开始长工作" + this.hashCode());
|
while(true){
|
if(this.isDestroy == null || !this.isDestroy.booleanValue()){
|
times++ ;
|
System.out.println("!!!!!执行长工作" + this.hashCode() + " 次数:" + times);
|
try {
|
Thread.sleep(2000);
|
} catch (Exception e) {
|
;
|
}
|
// System.out.println("!!!!!结束长工作" + this.hashCode());
|
}
|
}
|
}
|
@Override
|
public void destroy(){
|
this.isDestroy = true ;
|
}
|
@Override
|
public boolean isDestroy(){
|
if(this.isDestroy == null){
|
return false ;
|
}
|
return this.isDestroy.booleanValue() ;
|
}
|
private Boolean isDestroy;
|
});
|
n++ ;
|
Thread.sleep(100);
|
}
|
} catch (Exception e) {
|
|
}
|
}
|
|
}
|