- Thread simulationThread = new Thread(() ->\r
- {\r
- while (running.get())\r
- {\r
- // always execute to keep timeline from "hanging behind" for too long\r
- timeline.executeUntil(timeline.laterThan(System.currentTimeMillis()), System.currentTimeMillis() + 10);\r
- long sleepTime;\r
- if (timeline.hasNext())\r
- sleepTime = timeline.nextEventTime() - System.currentTimeMillis();\r
- else\r
- sleepTime = 10;\r
- try\r
- {\r
- if (sleepTime > 0)\r
- Thread.sleep(sleepTime);\r
- }\r
- catch (InterruptedException e)\r
- {\r
- } // it is normal execution flow to be interrupted\r
- }\r
- });\r
- simulationThread.start();\r
- timeline.addEventAddedListener(event ->\r
- {\r
- if (event.getTiming() <= System.currentTimeMillis())\r
- simulationThread.interrupt();\r
- });\r
+// Thread simulationThread = new Thread(() ->\r
+// {\r
+// while (running.get())\r
+// {\r
+// // always execute to keep timeline from "hanging behind" for too long\r
+// timeline.executeUntil(timeline.laterThan(System.currentTimeMillis()), System.currentTimeMillis() + 10); \r
+// model.timeline.executeUpTo(System.currentTimeMillis(), System.currentTimeMillis() + 10);\r
+// long sleepTime;\r
+// if (model.timeline.hasNext())\r
+// sleepTime = model.timeline.nextEventTime() - System.currentTimeMillis();\r
+// else\r
+// sleepTime = 10;\r
+// try\r
+// {\r
+// if (sleepTime > 0)\r
+// Thread.sleep(sleepTime);\r
+// }\r
+// catch (InterruptedException e)\r
+// {\r
+// } // it is normal execution flow to be interrupted\r
+// }\r
+// });\r
+// simulationThread.start();\r
+// model.timeline.addEventAddedListener(event ->\r
+// {\r
+// if (event.getTiming() <= System.currentTimeMillis())\r
+// simulationThread.interrupt();\r
+// });\r