使用Swing和Java,"Swing-Shell"线程做了什么

Tou*_*uko 6 java swing multithreading file

通过线程和swing,事件队列(事件调度线程)被广泛地呈现和讨论.

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

有人可以很快描述该线程的作用.或者甚至更好,是否有人与某些文件有一些联系

编辑:没有足够的细节,我问得太快,抱歉.我经历了各种JFileChooser问题,并出现了一个名为"Swing-Shell"的线程,与文件系统的Windows COM服务有关.可以在Sun Bug#6741890中找到死锁问题中的示例堆栈跟踪 .(线程堆栈跟踪以sun.awt.shell.Win32ShellFolderManager2 $ ComInvoker $ 3.run开头).

随着jconsole的仔细检查,我注意到在我使用JFileChooser之前不存在该线程(例如JFileChooser; Swing-Shell线程可能会由使用Win32ShellFolderManager的任何组件启动)线程似乎也在使用之后存在JFileChooser.

因此,回答自己,该线程似乎是一个单独的线程,用于COM服务与文件相关的操作(仅限Windows?).如果有人可以提供更多细节,欢迎=)

tra*_*god 1

初始线程的数量、用途和命名取决于实现。在我的平台上,事件调度线程(EDT) 名为AWT-EventQueue-0

附录:我发现的唯一其他参考文献说:“Motif 应用程序使用 shell 小部件与窗口管理器进行通信。” 您是否使用某种 Swing 库?

正如上面所建议的,线程转储可能会有所启发。NetBeans 分析器的最新版本包含一个保存按钮;我附上了典型繁忙演示中线程的快照。

图像