【发布时间】:2011-07-26 19:41:02
【问题描述】:
据说“Swing 工具包不是多线程安全的?
这句话是什么意思?
【问题讨论】:
标签: java multithreading swing
据说“Swing 工具包不是多线程安全的?
这句话是什么意思?
【问题讨论】:
标签: java multithreading swing
查看此链接:http://www.jguru.com/faq/view.jsp?EID=131370
所以为了简化实现 Swing 库,他们选择它不是 线程安全。论据是 大多数与 GUI 相关的工作都会发生 在来自 GUI 的回调中 发生在单个 GUI 线程上 无论如何。授予 - 长期运行 用户必须做更多的任务 如果他/她想做就工作 多线程活动...
特别是为 jfc 提供的链接。
还有这个链接:http://www.it.uu.se/edu/course/homepage/devgui/vt03/out/ThreadsAndSwing.pdf
在 Swing 组件被 显示在屏幕上,它们应该 只能由 事件处理线程。这 事件处理线程(或只是事件 线程)由自动启动 Java VM 当应用程序具有 图形界面。事件线程 调用诸如paint()之类的方法 组件,actionPerformed() on ActionListener 和所有其他 事件处理方法
查看我给出的第二个链接,特别是以下部分:GUI 设置中对工作线程的需求(也有一个解释它的示例)。在此引用以供参考:
事件线程起着至关重要的作用 在具有图形的应用程序中 界面。将执行的代码 由事件处理线程应该是 相对简短且无阻塞。如果 事件处理线程被阻塞 在一段代码中一段时间,没有 可以处理其他事件!
【讨论】: