没有经常写博客,也就是一般工作中遇到问题,才进行记录,也算是日志吧,近期也有一个线程池的需求,我们也知道,如果用线程池不当,将会给系统带来不可磨灭的灾难
那么我们该怎么用好线程池呢?请看下面的例子:
public class Test {
public static void main(String[] args) throws InterruptedException {
ExecutorService service = Executors.newFixedThreadPool(20);
//使用同步计数器,这个里面就相当于需要跑批的任务量
CountDownLatch lath=new CountDownLatch(100);
for (int i = 0; i < 100; i++) {
TestPool p=new TestPool("i",i,lath);
service.execute(p);
}
//这里就是等计数器完全减到0,除非线程被中断