Board logo

标题: 多线程模式之Master-Worker模式(2) [打印本页]

作者: yuyang911220    时间: 2015-11-22 19:10     标题: 多线程模式之Master-Worker模式(2)

测试类:
  public class Main {
  public static void  main(String[] args){
  Master m = new Master(new PlusWorker(),5);
  for(int i=0;i<100;i++)
  m.submit(i);
  m.execute();
  int re = 0;
  Map<String,Object> resultMap = m.getResultMap();
  while(resultMap.size() >0 || !m.isCompleted()){
  Set<String> keys = resultMap.keySet();
  String key = null;
  for(String k:keys){
  key = k;
  break;
  }
  Integer i = null;
  if(key != null)
  i = (Integer)resultMap.get(key);
  if(i != null)
  re += i;
  if(key != null)
  resultMap.remove(key);
  }
  System.out.println("re:"+re);
  }
  }
  Main不用等所有的Worker线程都计算完以后再执行,只要有计算完成的,它就一直计算。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0