![]() |
1
4
有一些方法被记录为线程安全的。我相信JDK7中少了一些,因为事实证明它们中的一些是不可实现的线程安全的。在大多数情况下,Swing是线程敌对的-它必须从AWT-EDT线程使用。这主要是因为它使用
|
![]() |
2
6
我不再试图推理它是否会工作,而是坚持众所周知的“规则”,即您应该只使用事件调度线程与GUI组件交互。当您从网络接收数据时,只需使用
你可能不会马上看到问题,但很有可能你将来会看到。 |
![]() |
3
2
您必须更新EDT上的GUI组件。句号。(这个规则有几个遗留的例外——但他们都默默地把事情交给了EDT)。EDT就像一个消息泵(就像大多数窗口系统一样)-如果你想更新GUI组件,你必须生活在这个限制之内。 如果您想让您的表快速更新,请保持EDT的清洁-不要将任何巨大的负载放在它上面。
|
![]() |
4
1
|
![]() |
5
1
这是一个绝对的规则,除非你想要比赛条件。事件调度线程足够快,我们的CCTV应用程序的显示不需要黑客。 |