ddi*_*rov 8 java swing java-web-start
最近我将Swing应用程序转换为Webstart.这个过程非常简单,但我发现在关闭所有窗口之后,我的应用程序的JVM没有终止.线程转储显示有几个非守护进程线程,特别是Swing的EDT,AWT和一些websart相关的线程.
使用的实际策略是每个窗口在创建时递增计数器,在关闭时递减1.默认关闭操作是DISPOSE_ON_CLOSE.温计数器达到零,我停止所有线程池并释放所有JNI资源.
当我从一个bat文件(相同的JAR)启动应用程序时,它在所有窗口关闭时终止,所以我认为这个问题与Webstart有关.
现在的问题是:
另请参阅用于检测Webstart是否已启动应用程序的后续问题.
由于WebStart中的错误,是的.WebStart启动了一个"安全线程",用于与EDT交互的自身目的.这个SecureThread可以防止在处理所有窗口和AWT资源时自动终止Java进程.
有关更多信息,请参阅http://www.pushing-pixels.org/?p=232
| 归档时间: |
|
| 查看次数: |
2177 次 |
| 最近记录: |