熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

Java多線程遞歸如何彌補管理漏洞

2013-11-23 19:52:44  來源: Java高級技術 

  Java多線程遞歸在我們使用的時候需要我們不斷的進行學習其實每個語言都可以在源代碼中找到問題的解決方案當每個迭代彼此獨立並且完成Java多線程遞歸中每個迭代的工作意義都足夠重大足以彌補管理一個新任務的開銷時這個順序循環是適合並行化的

  public<T> voidParallelRecursive(final Executorexec

  List<Node<T>>nodesCollection<T> results){

  for(Node<T> n:nodes){

  execexecute(new Runnable(){

  public void run(){

  resultsadd(pute());

  }

  });

  parallelRecursive(execngetChildren()results);

  }

  }

  public<T>Collection<T>getParallelResults(List<Node<T>>nodes)

  throws InterruptedException{

  ExecutorService exec=ExecutorsnewCachedThreadPool();

  Queue<T> resultQueue=newConcurrentLinkedQueue<T>();

  parallelRecursive(execnodesresultQueue);

  execshutdown();

  execawaitTermination(LongMAX_VALUETimeUnitSECONDS);

  return reslutQueue;

  }

  但是Java多線程遞歸程序不能處理不存在任何方案的情況而下列程序可以解決這個問題


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27613.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.