Java 线程池和 AWT 中的 Java EventQueue 背后的概念有什么相似之处吗?

Is there any similarity in the concept behind Java Thread Pooling and Java EventQueue in AWT?

据我所知,Thread Pooling是一个过程,它会重用已经创建的处于Wait模式的Threads,并为它们分配任务。此类线程的数量在池创建期间指定。

而在 Java AWT 中,EventQueue 做了类似的事情。它在Event Queue的末尾投递一个Runnable Swing对象,这个对象是在前面的对象处理完之后才处理的。

那么,EventQueue 是 AWT 中完成的一种线程池吗?

非常感谢!

没有。甚至含糊不清。您对 ThreadPool 的描述是正确的,但我不明白您为什么认为这类似于事件队列。

事件队列基本上是一个线程上的一组东西,以确保某些操作只发生在正确的线程上。没有 "pool" 个事件队列或类似的队列。

awt.EventQueue可以认为是单线程池执行器。拥有单线程是为了在修改屏幕图像时排除并行性。

如果您使用 Akka actors,您可以创建在 awt.EventQueue 上运行 actors 的特殊调度程序。具有此类调度程序的参与者可以修改 GUI 元素。