Java多线程递归如何弥补管理漏洞

Java多线程递归在我们使用的时候需要我们不断的进行学习,其实每个语言都可以在源代码中找到问题的解决方案。当每个迭代彼此独立,并且完成Java多线程递归中每个迭代的工作,意义都足够重大,足以弥补管理一个新任务的开销时,这个顺序循环是适合并行化的。

 

 
 
 
  1. public<T> voidParallelRecursive(final Executorexec,
    List
    <Node<T>>nodes,Collection<T> results){  
  2. for(Node<T> n:nodes){  
  3. exec.execute(new Runnable(){  
  4. public void run(){  
  5. results.add(n.compute());  
  6. }  
  7. });  
  8. parallelRecursive(exec,n.getChildren(),results);  
  9. }  
  10. }  
  11. public<T>Collection<T>getParallelResults(List<Node<T>>nodes)  
  12. throws InterruptedException{  
  13. ExecutorService exec=Executors.newCachedThreadPool();  
  14. Queue<T> resultQueue=newConcurrentLinkedQueue<T>();  
  15. parallelRecursive(exec,nodes,resultQueue);  
  16. exec.shutdown();  
  17. exec.awaitTermination(Long.MAX_VALUE,TimeUnit.SECONDS);  
  18. return reslutQueue;  

 

但是Java多线程递归程序不能处理不存在任何方案的情况,而下列程序可以解决这个问题。

【编辑推荐】

  1. Java多线程循环相关的代码介绍
  2. Java多线程静态数据如何进行数据同步
  3. Java多线程程序四步轻松学成
  4. JAVA多线程实现方式的基本情况介绍
  5. Java多线程进程应对同一程序运行资源
THE END