在事件监听器java中等待/休眠

时间:2017-07-19 12:12:47

标签: java wait sleep event-listener

我有很大的问题而且不知道该怎么做。 我的程序中有一个事件监听器,它从串口侦听事件。我从串口读取数据。然后对这些数据进行简单的转换。然后设置一个简单的文本字段并将下一个请求发送到串行端口。 但是,这太快了。然后我尝试在recive数据之间等待1秒并发送新请求。我试试

TimeUnit.SECONDS.sleep(1);

 this.wait(1000);

Thread.currentThread().sleep(1000);

和其他人......但是每次20-30分钟后我的程序都会抛出异常

Exception in thread "JavaFX Application Thread" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:386)
at java.util.AbstractList$Itr.next(AbstractList.java:355)
at com.sun.javafx.scene.shape.PathUtils.configShape(PathUtils.java:45)
at javafx.scene.shape.Path.impl_configShape(Path.java:251)
at javafx.scene.shape.Path.impl_updatePeer(Path.java:304)
at javafx.scene.Node.impl_syncPeer(Node.java:503)
at javafx.scene.Scene$ScenePulseListener.synchronizeSceneNodes(Scene.java:2290)
at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2419)
at com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:354)
at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:381)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:510)
at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:490)
at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$404(QuantumToolkit.java:319)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Thread.java:748)

在此异常之后会抛出更多其他异常... 无论如何,我的听众继续工作。

如果这个异常没有抛出,我的一个视频流中断,我的程序完美运行......我已经远程理解为什么会发生这种情况,但我不知道如何解决这个问题......

例外java.util.ConcurrentModificationException我甚至没有sleepwait,甚至更早出现......

0 个答案:

没有答案