【Java】ExecutorService线程池示例

来源:互联网 发布:拜占庭容错算法机制 编辑:程序博客网 时间:2024/05/02 05:37
package com;import java.util.List;import java.util.ArrayList;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService ;import java.util.concurrent.Executors;/** * * @author Administrator * */public class ExecutorTest extends Thread {      /**       * CPU核数       */      static final int preceCount = Runtime.getRuntime().availableProcessors();      static ExecutorService exec = Executors.newFixedThreadPool(preceCount);      static List<Integer> list = new ArrayList<Integer>();      /**       * 集合数量       */      static int count = 10000;      public static void main(String[] args) {            ExecutorTest test = new ExecutorTest();             test.init();             test.run();      }      /**       * 初始化List       */      void init() {             for ( int i = 0; i < count; i++) {                   list.add( i);            }      }      @Override      public void run() {             final CountDownLatch countDown = new CountDownLatch( count);             for (Integer i : list) {                   final int j = i;                   exec.submit( new Runnable() {                                             @Override                         public void run() {                               // TODO Auto-generated method stub                               try {                                    System. out.println( ">>" + j);                              } catch (Exception e) {                                     // TODO: handle exception                              } finally {                                     countDown.countDown();                              }                        }                  });            }      }     }
0 0