黑马程序员技术交流社区

标题: 线程池笔试题. [打印本页]

作者: 姚成晖    时间: 2016-2-16 15:43
标题: 线程池笔试题.
开启十条线程,第一个1到10想加,第二个11到20想加,以次类推 得到结果并输出

  1. import java.util.concurrent.Callable;
  2. import java.util.concurrent.ExecutorService;
  3. import java.util.concurrent.Executors;
  4. import java.util.concurrent.Future;

  5. public class Demo {
  6.         public static void main(String[] args) throws Exception, Exception {
  7.                 ExecutorService es = Executors.newFixedThreadPool(10);
  8.                 Future<Integer> f1 = es.submit(new MyCallable(1,10));
  9.                 Future<Integer> f2 =es.submit(new MyCallable(11,20));
  10.                 Future<Integer> f3 =es.submit(new MyCallable(21,30));
  11.                 Future<Integer> f4 =es.submit(new MyCallable(31,40));
  12.                 Future<Integer> f5 =es.submit(new MyCallable(41,50));
  13.                 Future<Integer> f6 =es.submit(new MyCallable(51,60));
  14.                 Future<Integer> f7 =es.submit(new MyCallable(61,70));
  15.                 Future<Integer> f8 =es.submit(new MyCallable(71,80));
  16.                 Future<Integer> f9 =es.submit(new MyCallable(81,90));
  17.                 Future<Integer> f10 =es.submit(new MyCallable(91,100));
  18.                 System.out.println(f1.get());
  19.                 System.out.println(f2.get());
  20.                 System.out.println(f3.get());
  21.                 System.out.println(f4.get());
  22.                 System.out.println(f5.get());
  23.                 System.out.println(f6.get());
  24.                 System.out.println(f7.get());
  25.                 System.out.println(f8.get());
  26.                 System.out.println(f9.get());
  27.                 System.out.println(f10.get());
  28.                
  29.                 es.shutdown();
  30.                
  31.         }
  32. }

  33. class MyCallable implements Callable<Integer>{
  34.         private int start;
  35.         private int end;
  36.        
  37.         public MyCallable(int start,int end){
  38.                 this.start=start;
  39.                 this.end=end;
  40.         }
  41.        
  42.         public Integer call() throws Exception{
  43.                
  44.                 int sum=0;
  45.                 for(;start<=end;start++){
  46.                         sum+=start;
  47.                 }
  48.                 return sum;
  49.                
  50.         }
  51. }
复制代码

作者: 姚成晖    时间: 2016-2-16 23:31
{:2_30:}~~~~~




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2