繁体   English   中英

Graphstream多线程-Java

[英]Graphstream Multithreading - Java

我对Java线程世界比较陌生,请寻求帮助。 我正在使用基于Graphstream( http://graphstream-project.org/ )libray的深度递归算法来构建图形。 但是我遇到了Stackoverflow错误。 我确信我的算法是正确的(我已经进行了小规模测试)。

我阅读了有关线程的知识,以及它如何提供帮助。 我的想法是为每个递归生成一个新线程(可能会达到数以百万计的:()。这还会生成很多子图。)最后,我必须将所有这些子图合并到一个线程中。你们认为这确实有助于摆脱stackoverflow问题吗?或者您对我还有其他想法!?谢谢!

您的想法通常称为MapReduce 使用Google搜索可以帮助您找到示例实现。

由于您的问题是堆栈溢出错误,请记住,您可以将每个递归重写为不会导致堆栈溢出错误的循环算法。

创建很多线程通常不是一个好主意。 只需使用ThreadPoolExecutor服务即可。

数百万个线程不是一种优雅的方法。 在线程java.concurrent.Executor上启动Runnables,而不是线程。 这样,您还将摆脱Stackoverflow,并使算法在所有可用处理器上并行运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM