Java Swing 大神必经之路 7:Swing 的任务线程与 EDT 事件分发队列模型
为何 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 用 invokeLater,而不直接调用呢?
大多数 Swing 的 API 非线程安全,不能在任意地方调用,应该只在 EDT 中调用。
Swing 的线程安全靠事件队列和 EDT 来保证。
EventQueue 的派发机制由单独的一个线程 - 事件派发线程(EDT)管理。
Swing 将 GUI 请求放入一个事件队列中执行。通过 EDT,使得非线程安全的 Swing 函数库避开了并发问题。
[](()[](()3 Swing 中的线程分类
======================================================================================================================================
一个 Swing 程序中一般有下面三种类型的线程:
评论