zoukankan      html  css  js  c++  java
  • java线程池的应用

    package com.test;
    
    import java.util.concurrent.Callable;
    
    public class TestThread implements Callable<Object>{
    
        @Override
        public Object call() throws Exception {
            System.out.println(123);
            return 456;
        }
    
    }
    package com.test;
    
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.List;
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    
    public class TestPool {
    
        public void handleThreadPool(){
            int threadCount = 5;
            int poolSize = 3;
            TestThread[] tt = new TestThread[threadCount];
            ExecutorService service = Executors.newFixedThreadPool(poolSize);
            Collection<TestThread> c = new ArrayList<TestThread>();
            for (int i = 0; i < threadCount; i++) {
                tt[i] = new TestThread();
                c.add(tt[i]);
            }
            try {
                List<Future<Object>> results = service.invokeAll(c);
                service.shutdown();
                for (Future<Object> future : results) {
                     System.out.println(future.get().toString());
                }
            } catch (InterruptedException e) {            
                e.printStackTrace();
            } catch (ExecutionException e) {    
                e.printStackTrace();
            }        
        }
        
        public static void main(String[] args){
            TestPool tp = new TestPool();
            tp.handleThreadPool();
        }
    
    }
  • 相关阅读:
    Java面向对象知识点总结
    JAVA编程必学必会单词集(1)
    Linux 帮助命令
    学习笔记
    day4
    复习
    day5
    day04
    day3
    day02
  • 原文地址:https://www.cnblogs.com/zhangfei/p/3318837.html
Copyright © 2011-2022 走看看