据我所知,线程池是一个在等待模式中重用已创建的线程并为其分配任务的进程。这些线程的数量是在创建池时指定的。AWT中的Java Thread Pooling和Java EventQueue背后的概念有没有相似之处?
而在Java AWT中,EventQueue也做了类似的事情。它在Event Queue的末尾发布一个Runnable Swing对象,并且在先前对象的处理结束后处理该对象。
那么,EventQueue是AWT中的一种线程池吗?
非常感谢!
据我所知,线程池是一个在等待模式中重用已创建的线程并为其分配任务的进程。这些线程的数量是在创建池时指定的。AWT中的Java Thread Pooling和Java EventQueue背后的概念有没有相似之处?
而在Java AWT中,EventQueue也做了类似的事情。它在Event Queue的末尾发布一个Runnable Swing对象,并且在先前对象的处理结束后处理该对象。
那么,EventQueue是AWT中的一种线程池吗?
非常感谢!
是awt.EventQueue
可以视为单线程池执行程序。单线程是在修改屏幕图像时排除并行性。
如果您使用Akka actors,您可以创建专门的调度程序来运行awt.EventQueue
上的actor。具有这种调度器的Actor可以修改GUI元素。
简短的回答是否定的 - EventQueue由**单**线程(Event Dispatching Thread)处理。当它弹出队列的'Runnable'时,它只是调用'run'方法,否则它会根据EDT的内部需求处理事件 – MadProgrammer
非常感谢@MadProgrammer! – julianff