我有一个在大多数站点上运行OK的应用程序。但是,一个在Citrix Box上托管应用程序的站点似乎存在死锁问题。我在会议中运行了一个分析器并收到了一个惊喜。导致死锁的语句似乎是关闭JOptionPane对话框的语句。请参阅随附的显示屏。关闭JOptionPane导致Java Swing中的死锁
所以我有三个问题:
- 是我的理解是否正确?
- 任何想法为什么会发生这种情况。
- 我能在代码中做些什么来防止这种情况发生?
非常感谢您的帮助。
埃利奥特
我有一个在大多数站点上运行OK的应用程序。但是,一个在Citrix Box上托管应用程序的站点似乎存在死锁问题。我在会议中运行了一个分析器并收到了一个惊喜。导致死锁的语句似乎是关闭JOptionPane对话框的语句。请参阅随附的显示屏。关闭JOptionPane导致Java Swing中的死锁
所以我有三个问题:
非常感谢您的帮助。
埃利奥特
Swing不是线程安全的。也许你的应用程序从Event Dispatch Thread之外调用Swing GUI方法。
如果你可以减少到最小的样本,但仍然会重现问题,你可以1)自己找到原因,或者2)最终有更多的机会从别人那里获得帮助。
*“仍然会再现问题的最小样本”*你是什么意思,就像[SSCCE](http://pscode.org/sscce) html的)? ;) –
是的:-)。伟大的说明btw。 – Grodriguez
仔细看显示。它看起来不像是从EventDispatchThead中调用的吗? – Elliott
-_- < - 我眯眼... – mre
@mre和现在: - ) – mKorbel
我可能会错过一些东西,但是什么让你觉得这是一个僵局? – Sean