什么是AWT-Windows线程?

4
当我在使用AWT时,在调用Toolkit.getDefaultToolkit()后,我已经打印出了程序中当前正在运行的线程。我想知道在后台运行的那个AWT-Windows线程是什么,它是做什么的,为什么它具有6优先级。
另外,这条线
Thread[AWT-Windows,6,main]

main是否意味着线程在主线程中启动?

提前感谢。

1个回答

6

AWT 是 Java 的抽象窗口工具包。AWT 线程应该处理所有 AWT 事件、渲染等...

6 优先级仅比普通优先级高一级,以使此调度程序略微偏向它。

main 是线程的组。

编辑

AWT-Windows 线程专门处理来自本机 Windows C++ API 的 GUI 事件轮询。处理这些事件的特定本机方法是 sun.awt.windows.WToolkit.eventLoop()


那么为什么我们会说AWT是重量级的,而Swing是轻量级的呢?Swing组件是从头开始编写的。此外,在sun.awt.windows包中编写了一些AWT类。那这些是什么呢?谢谢。 - JavaTechnical
1
我应该删除我在这里说的所有其他内容。我混淆了AWT和Swing。由于AWT是重量级的,因此事件循环实际上会接收与实际本机UI组件对应的事件。sun.awt.windows包将是与Windows API接口的特定于Windows的代码。如果您在不同的平台上,则不会有sun.awt.windows存在。 - hsun324
1
没问题。但最终的结论是AWT-Windows线程与Windows操作系统交互,以了解发生了什么事件以及在哪个组件上发生,然后将其传递给事件分派线程?我是对的吗?谢谢。 - JavaTechnical
那么,Windows操作系统知道用户点击的是哪个组件还是只知道点击的位置? - JavaTechnical
因为操作系统知道该组件的存在,并且MFC确实告诉应用程序有关事件目标的信息,所以可以逻辑推断出操作系统知道用户使用了某个特定组件。 - hsun324
显示剩余20条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接