作者sbrhsieh (偶尔想摆烂一下)
看板java
标题Re: [J2SE] ui thread
时间Fri Feb 19 22:55:09 2010
※ 引述《neigence ()》之铭言:
: 但以往在写java的时後 不论在何时何地何条thread建的swing元件
: 其实都是可以正常运作的,但我怀疑只是我刚好没遇到问题而已,其实这样
: 是违反ui架构的
: 结论是 我的问题是
: 1. 是否在java中 要new Swing元件都必须在 ui-thread ?
: 2. 如果有事件要处理 都透过 SwingUtilities.invokerLater or invokerAndWait
: 来处理 相当於mfc的 PostMessage / SendMessage
: 3. SwingWorker好用吗...(正在读doc中...)
这个主题应以 thread-safe 为焦点来看。
如果有个 class/function 在实作时没有作成 thread-safe,操作/使用该 class
instance/function 必须在同一个 thread(或者说多个 thread 操作/使用该 class
instance/function 的时间不能有重叠)。
AWT/swing 的设计不是 thread-safe,core classes 内的 AWT/swing 相关的
class 全不是 thread-safe(只有少数 class 中的少数操作有在 API doc 里明确
指出是 thread-safe)。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.173.138.157