线程池

来源:互联网 发布:伪装者于曼丽知乎 编辑:程序博客网 时间:2024/05/16 14:16

java.util.concurrent提供线程池的支持

  • FixedThreadPool 可以容纳固定数量的线程
  • CachedThreadPool 线程池的大小会随执行的任务动态分配
  • SingleThreadExecutor 单个线程的线程池,若当前线程在执行任务时发生中断,会创建新的线程代替
  • ScheduledThreadPool 类似于Timer的定时器
package com.concurrent.forkjoinpool;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class ThreadPoolTest {    public static void main(String[] args){        ExecutorService pool = Executors.newFixedThreadPool(3);        for(int i=0; i<4; i++){            final int taskId = i;            pool.execute(new Runnable(){                @Override                public void run() {                    for(int j=0; j<5; j++){                        try {                            Thread.sleep(20);                        } catch (InterruptedException e) {                            // TODO Auto-generated catch block                            e.printStackTrace();                        }                        System.out.println("第" + taskId + "次任务的第" + j + "次执行");                      }                }            });        }        pool.shutdown();    }}
0 0
原创粉丝点击