我对Java中的线程世界比较陌生,需要一些帮助。我使用深度递归算法来构建基于Graphstream(http://graphstream-project.org/)libray的图。但是我遇到一个Stackoverflow错误。我相信我的算法是正确的(我在小范围内测试过)。Graphstream多线程 - Java
我阅读了关于线程的知识,以及它如何提供帮助。我的想法是为每个递归生成一个新线程(可能会达到百万:()。这也会生成很多子图。最后,我将不得不在一个线程中合并所有这些子图。你们认为这真的有助于摆脱stackoverflow问题吗?或者你有任何其他想法对我来说?谢谢!
发布一些代码和异常堆栈。这个错误大多发生在你用完堆的时候,主要是遇到无限循环 – Reddy
线程不是,恕我直言,正确答案是由递归引起的StackOverflowErrors。你最好用迭代代替递归,例如使用堆栈。 –
尝试迭代而不是递归。没有tail-call优化,java不会处理1m递归函数调用。 – Rekin