Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Java线程池:ExecutorService,Executors

简单的Java线程池可以从Executors.newFixedThreadPool( int n)获得。此方法返回一个线程容量为n的线程池。然后ExecutorService的execute执行之。现给出一个示例。package zhangphil.executorservice;import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class ZhangPhilExecutorService { // 为了容易理解线程池的概念,假设容量只有2的线程池。
 // 实际使用过程中当然可以更多!
 private final int NUMBER = 2; public ZhangPhilExecutorService() {
  // 创建容量为2的线程池。
  ExecutorService pool = Executors.newFixedThreadPool(NUMBER);  for (int i = 0; i < 10; i++) {
   Thread t = new TestThread(i);
   System.out.println("线程池执行线程id:" + i);
   pool.execute(t);
  }  // 关闭线程池。
  pool.shutdown();
 } private class TestThread extends Thread {  private int id;  public TestThread(int id) {
   this.id = id;
  }  @Override
  public void run() {   System.out.println("线程:" + id + " -> 运行...");   try {
    Thread.sleep(5000);
   } catch (Exception e) {
    e.printStackTrace();
   }   System.out.println("线程:" + id + " -> 结束!");
  }
 } public static void main(String[] args) {
  new ZhangPhilExecutorService();
 }
}运行的输出结果:线程池执行线程id:0
线程池执行线程id:1
线程池执行线程id:2
线程池执行线程id:3
线程:0 -> 运行...
线程池执行线程id:4
线程:1 -> 运行...
线程池执行线程id:5
线程池执行线程id:6
线程池执行线程id:7
线程池执行线程id:8
线程池执行线程id:9
线程:1 -> 结束!
线程:0 -> 结束!
线程:2 -> 运行...
线程:3 -> 运行...
线程:3 -> 结束!
线程:2 -> 结束!
线程:4 -> 运行...
线程:5 -> 运行...
线程:4 -> 结束!
线程:5 -> 结束!
线程:6 -> 运行...
线程:7 -> 运行...
线程:7 -> 结束!
线程:6 -> 结束!
线程:8 -> 运行...
线程:9 -> 运行...
线程:9 -> 结束!
线程:8 -> 结束!本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-02/113790.htm