gpt4 book ai didi

java - GraphStream 线程同步

转载 作者:行者123 更新时间:2023-12-02 05:08:26 25 4
gpt4 key购买 nike

我正在尝试创建一个用于演示图形和算法的工具。为此,我找到了 GraphStream 库。我已阅读其所有文档和教程,但我无法使这一件事发挥作用。我正在尝试将图形放入我的自定义 GUI(带有按钮的左侧菜单和右侧图形空间)中,并且我设法做到了这一点。现在,当我启用两个按钮时:生成 - 使用随机生成器创建图形,清除 - 清除图形,一切正常,但在清除后,当我按生成时,我收到以下错误:

Exception in thread "Thread-2" org.miv.pherd.IdAlreadyInUseException: a particle with the same identifier already exists (0)

我不明白为什么这是一个问题,因为在没有 gui 的简单测试程序中,我在 main 中编写了简单的代码来执行相同的操作并且它有效:

public class Test {

public static void main(String[] args){

Graph graph = new SingleGraph("test");

graph.display();

Generator generator = new BarabasiAlbertGenerator();
generator.addSink(graph);
generator.begin();
for (int i = 0; i < 100; i++) {
generator.nextEvents();
}

generator.end();

graph.clear();
generator = new BarabasiAlbertGenerator();
generator.addSink(graph);
generator.begin();
for (int i = 0; i < 100; i++) {
generator.nextEvents();
}
generator.end();


}

这段代码可以工作,但是当我在 GUI 中使用按钮执行它时,我会抛出上面提到的错误。我还检查了我的程序中正在运行多少个线程,其中似乎有 3 个。我希望我的问题很清楚并且有人可以帮助我。谢谢大家!

最佳答案

这是由 BarabasiAlbertGenerator 类中的已知错误引起的(请参阅相应的 Graphstream users thread )。

此错误已在库的 1.3.x 版本中修复,目前可在 http://graphstream-project.org/pub/1.x/nightly-build/last/ 作为夜间构建版本使用。

(将来,此修复应该成为 regular Graphstream downloads 的一部分)

关于java - GraphStream 线程同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27557330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com