与Swing&;Java,由;“回转壳”;线

与Swing&;Java,由;“回转壳”;线,java,swing,file,multithreading,Java,Swing,File,Multithreading,通过threads和swing,事件队列(eventdispatchthread)得到了广泛的介绍和讨论 但是,在使用Swing应用程序检查线程状态时,还有一个名为Swing Shell的线程。通过简单的谷歌搜索,我找不到太多细节,主要是带有bug报告的线程堆栈跟踪等 有人能简单地描述一下那条线是干什么的吗。或者更好的是,是否有人有一些文档的链接 编辑:对不起,我问得太快了,没有足够的细节。我正在经历各种各样的事情 JFileChooser问题,出现一个名为“SwingShell”的线程,该线程

通过threads和swing,事件队列(eventdispatchthread)得到了广泛的介绍和讨论

但是,在使用Swing应用程序检查线程状态时,还有一个名为Swing Shell的线程。通过简单的谷歌搜索,我找不到太多细节,主要是带有bug报告的线程堆栈跟踪等

有人能简单地描述一下那条线是干什么的吗。或者更好的是,是否有人有一些文档的链接

编辑:对不起,我问得太快了,没有足够的细节。我正在经历各种各样的事情 JFileChooser问题,出现一个名为“SwingShell”的线程,该线程具有 与Windows COM文件系统服务有关。 可以在以下位置找到死锁问题中的示例堆栈跟踪: . (线程堆栈跟踪从sun.awt.shell.win32ShellFolderManager$ComInvoker$3.run开始)

通过仔细检查,我注意到螺纹直到 我使用了JFileChooser(例如JFileChooser;Swing Shell线程可能会启动) 使用Win32ShellFolderManager的任何组件) 在使用JFileChooser之后,线程似乎也存在

所以,回答我自己,这个线程似乎是一个单独的线程,用于COM服务
与文件相关的操作(仅限Windows?)。如果有人可以提供更多详细信息,欢迎=)

初始线程的数量、用途和命名是。在我的平台上,(EDT)名为
AWT-EventQueue-0

附录:我发现的另一个例子是,“Motif应用程序使用shell小部件与窗口管理器通信。”您是否使用某种Swing库

如上所述,线程转储可能很有启发性。NetBeans的分析器的最新版本包括一个保存按钮;我已经附上了一个典型示例中线程的快照


是的,我的EDT名称与之类似,但这个“Swing Shell”似乎不是“初始线程”(至少在链接的意义上是这样)。在我看来,它更像是Swing的后台守护程序线程或其他什么。当你进行线程转储时,该线程的堆栈跟踪是什么样子的?为了澄清这一点,如果你从Windows上的命令行启动Swing应用程序,那么你可以在应用程序运行时在该命令行中点击Ctrl-Break(注意:不是Ctrl-C)获取每个运行线程的堆栈跟踪。在Linux上也有这样做的方法,但我记不得了。