據我所知,線程池是一個在等待模式中重用已創建的線程併爲其分配任務的進程。這些線程的數量是在創建池時指定的。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