簡體   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