我创建了一个简单的 Java 应用程序,它有一个 JFrame 和几个 JButton。当我尝试使用 JVMTI 检查 Java 应用程序时,我发现虽然我没有创建任何显式线程,但产生了很多线程。
我可以找到以下主题:
- 销毁JavaVM
- AWT-EventQueue-0
- AWT 关闭
- AWT-XAWT- 守护线程
- Java2D Disposer - 守护线程
- Thread-0- 守护线程 [由 JVMTI 代理创建]
- Signal Dispatcher - 守护线程
- 完成 - 守护线程
- 引用处理程序 - 守护线程
大部分都处于Runnable状态。谁能告诉我这些线程的功能?
最佳答案
底层库使用这些线程来管理图形应用程序所需的小部件、显示、事件循环和其他管道。
GUI 应用程序通常有很多 Activity 部件,如果您注意到您不必显式编写任何代码来管理这些部件(例如,更新屏幕、绘制按钮或处理鼠标)移动)。这组后台线程负责管理这些部分,并使您尽可能轻松地专注于您的应用程序逻辑。
这些线程由您使用的库(例如 AWT、Swing 等)生成,通常会在终止时自行清理(以及它们管理的资源)。
关于java - 当 Java 应用程序开始执行时产生的这些线程是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2239186/