Java多線程遞歸如何彌補(bǔ)管理漏洞
作者:佚名 
  Java多線程遞歸需要我們不斷的學(xué)習(xí),我們在學(xué)習(xí)的時(shí)候只有不斷的在源代碼中認(rèn)真的研究才能更好的掌握相關(guān)問題的解決方案。
 Java多線程遞歸在我們使用的時(shí)候需要我們不斷的進(jìn)行學(xué)習(xí),其實(shí)每個(gè)語言都可以在源代碼中找到問題的解決方案。當(dāng)每個(gè)迭代彼此獨(dú)立,并且完成Java多線程遞歸中每個(gè)迭代的工作,意義都足夠重大,足以彌補(bǔ)管理一個(gè)新任務(wù)的開銷時(shí),這個(gè)順序循環(huán)是適合并行化的。
- public<T> voidParallelRecursive(final Executorexec,
 
List<Node<T>>nodes,Collection<T> results){- for(Node<T> n:nodes){
 - exec.execute(new Runnable(){
 - public void run(){
 - results.add(n.compute());
 - }
 - });
 - parallelRecursive(exec,n.getChildren(),results);
 - }
 - }
 - public<T>Collection<T>getParallelResults(List<Node<T>>nodes)
 - throws InterruptedException{
 - ExecutorService exec=Executors.newCachedThreadPool();
 - Queue<T> resultQueue=newConcurrentLinkedQueue<T>();
 - parallelRecursive(exec,nodes,resultQueue);
 - exec.shutdown();
 - exec.awaitTermination(Long.MAX_VALUE,TimeUnit.SECONDS);
 - return reslutQueue;
 - }
 
但是Java多線程遞歸程序不能處理不存在任何方案的情況,而下列程序可以解決這個(gè)問題。
【編輯推薦】
責(zé)任編輯:張浩 
                    來源:
                    博客園
 














 
 
 





 
 
 
 