我已经创建了一个简单的Java应用程序,它有一个JFrame和几Jbutton.当我试图检查java应用程序使用JVMTI我发现,虽然我没有创造任何明确线没有被他们中的很多催生。

我可以找到以下主题:

  • DestroyJavaVM
  • AWT-EventQueue-0
  • AWT-关闭
  • AWT-XAWT-守护线程
  • Java2D垃圾处理器-守护线程
  • Thread-0-守护线程[由JVMTI剂]
  • 信号调度-守护线程
  • 最后确定-守护线程
  • 基准处理程序守护线程

他们中的大多数都在运行状态。可以有人告诉我的功能,这些线?

有帮助吗?

解决方案

这些线使用的基本图书馆管理的部件,显示,事件的循环,并且其他管道,是需要你的图形程序。

GUI应用程序通常有很多运动部件,如果你已经注意到你没有明确写入任何码管理这些零部件(例如,更新屏幕,或者绘制一个按钮,或处理鼠标运动)。是是这一组的背景线,负责管理这些零部件,并使之尽可能容易你专注于你的应用程序的逻辑。

这些线产生的图书馆使用(例如,AWT,摇摆,等等。) 和通常的干净自己(和资源管理)在终止。

其他提示

我可以告诉你一个,你猜三个...

  • AWT-EventQueue-0

这是GUI/Awt/摆线。什么书写的GUI必须执行在这个线!有时候如果我认为有一点那里的另外一个线程可能会被写到GUI,我会走到这一点,我认为竞争可能发生的情况,并断言这名字的前线匹配"AWT-EventQueue-0".

我真的希望太阳释放了一个"调试"版本的图书馆,断言的正确的线的使用在所有部件--它将有可能挽救了很多头痛和保存Java从有一个很坏的代表对于崩溃的图形用户界面时这是真人不了解这个线程。

这些可能是所有相关的螺纹垃圾收集器:

  • Java2D垃圾处理器-守护线程
  • 最后确定-守护线程
  • 基准处理程序守护线程
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top