前些天由于用到多线程处理,所以想到线程池,搜集了网上的一些资料,再分析改进一下,有了下面的东西。
首先是个读取配置文件的类:
1
package org.ofbiz.smsSend;
2
import java.io.File;
3
import java.io.FileInputStream;
4
import java.io.FileNotFoundException;
5
import java.io.FileOutputStream;
6
import java.io.IOException;
7
import java.util.Properties;
8
9
2
3
4
5
6
7
8
9
接着,是要做事的类,我写了一个接口,只有一个方法doWork(),在线程池中,一旦一个线程获得一个工作任务,线程就会调用工作任务的doWork()方法。
1
定时器自动查失效的线程,用到的方法如下:
1
package org.ofbiz.smsSend;
2
3
import java.util.TimerTask;
4
5
public class CheckThreadTask extends TimerTask
6
最后,配置文件的内容如下2
3
4
5
6
1
#----------------线程池配置信息-----------------
2
#
3
#线程池最小线程
4
minPools=10
5
#线程池最大线程
6
maxPools=100
7
#检查线程池中线程的周期(分钟)
8
checkThreadPeriod=5
ok,要用的时候,调用方法如下:2
3
4
5
6
7
8
1
ThreadPool.getInstance().run(new (实现了work接口的类));