ThreadPoolUtil(一)线程池概述:http://blog.csdn.net/arjick/article/details/6759191
ThreadPoolUtil线程池是一个优化多线程的异步线程池。底层设计架构为:
测试代码:
package com.shine.framework.ThreadPoolUtil;
public class FreeThreadTest {
public void println(String test) {
System.out.println("FreeThreadTest:" + test);
}
/**
* @param args
*/
public static void main(String[] args) {
// 注入测试方法
ThreadPoolManager.getManager().putFreeModel("test1",
"com.shine.framework.ThreadPoolUtil.FreeThreadTest", "println");
// 注入测试方法2
ThreadPoolManager.getManager()
.putFreeModel("test2",
"com.shine.framework.ThreadPoolUtil.FreeThreadTest2",
"println");
// 注入测试方法3
FreeThreadTest3 freeThreadTest3 = new FreeThreadTest3();
ThreadPoolManager.getManager().putFreeModel("test3", freeThreadTest3,
"println");
// 初始化初始线程和最大线程
ThreadPoolManager.getManager().initFreeThreadPool(2, 100);
// 启动线程池
ThreadPoolManager.getManager().startThreadPool();
ThreadPoolManager.getManager().getFreeThread().setValues("test1",
"FreeThreadTest");
ThreadPoolManager.getManager().getFreeThread().setValues("test2",
"FreeThreadTest2");
ThreadPoolManager.getManager().getFreeThread().setValues("test1",
"FreeThreadTest");
ThreadPoolManager.getManager().getFreeThread().setValues("test1",
"FreeThreadTest");
ThreadPoolManager.getManager().getFreeThread().setValues("test3",
"FreeThreadTest3");
}
}
package com.shine.framework.ThreadPoolUtil;
public class FreeThreadTest2 {
public void println(String test) {
System.out.println("FreeThreadTest2:" + test);
}
}
package com.shine.framework.ThreadPoolUtil;
public class FreeThreadTest3 {
public void println(String test) {
System.out.println("FreeThreadTest3:" + test);
}
}
运行结果:
ThreadfreeThread1 is running!
ThreadfreeThread3 is running!
ThreadfreeThread0 is running!
扩展自由线程线程数3
扩展自由线程线程数4
ThreadfreeThread5 is running!
扩展自由线程线程数5
ThreadfreeThread4 is running!
FreeThreadTest3:FreeThreadTest3
FreeThreadTest:FreeThreadTest
FreeThreadTest2:FreeThreadTest2
FreeThreadTest:FreeThreadTest
FreeThreadTest:FreeThreadTest