我正在嘗試在 JBotSim 上實作分布式演算法。當我在 Main 類中定義整個拓撲時,我的演算法有效,但是當我在畫布上繪制圖形時,似乎第一個繪制的節點在我繪制完圖形之前啟動演算法,使我的演算法完全不同步。
知道如何解決這個問題嗎?
謝謝你。
uj5u.com熱心網友回復:
如果拓撲自動啟動,如本例所示,
public static void main(String[] args){
Topology topology = new Topology();
new JViewer(topology);
topology.start();
}
那么當您添加節點時拓撲已經在運行。因此,onStart()只要將每個節點上的方法添加到拓撲中(這確實使它們以非同步方式啟動),就會立即呼叫該方法。
這里的一種解決方案是topology.start()在添加所有節點后手動洗掉對拓撲的呼叫并啟動拓撲。這可以在背景關系選單中完成(右鍵單擊>“開始執行”)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/347386.html
