带有javafx挂起的Eclipse应用程序

带有javafx挂起的Eclipse应用程序,java,eclipse,javafx,eclipse-rcp,javafx-8,Java,Eclipse,Javafx,Eclipse Rcp,Javafx 8,我有一个Eclipse4应用程序,其中某些部分用JavaFx实现,其余部分用SWT实现。应用程序间歇性挂起,下面是应用程序在应用程序启动时挂起时jconsole.exe的堆栈 Name: JavaFX Application Thread State: WAITING on java.util.concurrent.CountDownLatch$Sync@74205acd Total blocked: 14 Total waited: 43 Stack trace: sun.misc.U

我有一个Eclipse4应用程序,其中某些部分用JavaFx实现,其余部分用SWT实现。应用程序间歇性挂起,下面是应用程序在应用程序启动时挂起时jconsole.exe的堆栈

Name: JavaFX Application Thread
State: WAITING on java.util.concurrent.CountDownLatch$Sync@74205acd
Total blocked: 14  Total waited: 43

Stack trace: 
 sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
com.sun.javafx.tk.quantum.PaintCollector.waitForRenderingToComplete(PaintCollector.java:157)
com.sun.javafx.tk.quantum.GlassScene.waitForRenderingToComplete(GlassScene.java:127)
javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2410)
com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:314)
com.sun.javafx.tk.Toolkit$$Lambda$181/1142931081.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:313)
com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:340)
com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:525)
com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:505)
com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$400(QuantumToolkit.java:334)
com.sun.javafx.tk.quantum.QuantumToolkit$$Lambda$51/889885902.run(Unknown Source)
org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2549)
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:164)
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:497)
org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
org.eclipse.equinox.launcher.Main.run(Main.java:1465)
org.eclipse.equinox.launcher.Main.main(Main.java:1438)

我使用的是Java8。

您也可以包含您的代码吗?代码太大,无法包含在这里。我看到这种情况时有发生。有时它在应用程序启动时挂起,而其他时候它挂在执行的中间(没有特定的动作导致它挂起)。堆栈跟踪每次挂起时看起来都完全相同。很难确定为什么只有堆栈跟踪挂起。这是在什么操作系统上的?Windows 7。我的问题是一个经常被调用的侦听器,它使所有资源陷入困境。移除它解决了这个问题。