From: Fabian Stemmler Date: Wed, 29 May 2019 16:07:52 +0000 (+0200) Subject: Merge branch 'development' of X-Git-Url: https://mograsim.net/gitweb/?p=Mograsim.git;a=commitdiff_plain;h=86f2e11d28a4100a7fe142e103b7b5eeb9de4214 Merge branch 'development' of https://gitlab.lrz.de/lrr-tum/students/eragp-misim-2019 into development # Conflicts: # LogicUI/src/era/mi/gui/LogicUIStandalone.java --- 86f2e11d28a4100a7fe142e103b7b5eeb9de4214 diff --cc LogicUI/src/era/mi/gui/LogicUIStandalone.java index a4711666,1df22beb..3312308d --- a/LogicUI/src/era/mi/gui/LogicUIStandalone.java +++ b/LogicUI/src/era/mi/gui/LogicUIStandalone.java @@@ -50,34 -60,33 +60,33 @@@ public class LogicUIStandalon public void run() { AtomicBoolean running = new AtomicBoolean(true); - // Thread simulationThread = new Thread(() -> - // { - // while (running.get()) - // { - // // always execute to keep timeline from "hanging behind" for too long - // timeline.executeUntil(timeline.laterThan(System.currentTimeMillis()), System.currentTimeMillis() + 10); - // model.timeline.executeUpTo(System.currentTimeMillis(), System.currentTimeMillis() + 10); - // long sleepTime; - // if (model.timeline.hasNext()) - // sleepTime = model.timeline.nextEventTime() - System.currentTimeMillis(); - // else - // sleepTime = 10; - // try - // { - // if (sleepTime > 0) - // Thread.sleep(sleepTime); - // } - // catch (InterruptedException e) - // { - // } // it is normal execution flow to be interrupted - // } - // }); - // simulationThread.start(); - // model.timeline.addEventAddedListener(event -> - // { - // if (event.getTiming() <= System.currentTimeMillis()) - // simulationThread.interrupt(); - // }); + Thread simulationThread = new Thread(() -> + { + while (running.get()) + { + // always execute to keep timeline from "hanging behind" for too long - timeline.executeUpTo(System.currentTimeMillis(), System.currentTimeMillis() + 10); ++ timeline.executeUntil(timeline.laterThan(System.currentTimeMillis()), System.currentTimeMillis() + 10); + long sleepTime; + if (timeline.hasNext()) + sleepTime = timeline.nextEventTime() - System.currentTimeMillis(); + else + sleepTime = 10; + try + { + if (sleepTime > 0) + Thread.sleep(sleepTime); + } + catch (InterruptedException e) + { + } // it is normal execution flow to be interrupted + } + }); + simulationThread.start(); + timeline.addEventAddedListener(event -> + { + if (event.getTiming() <= System.currentTimeMillis()) + simulationThread.interrupt(); + }); shell.open(); while (!shell.isDisposed())