【发布时间】:2013-12-25 21:15:09
【问题描述】:
我刚刚学习 Java 课程,几周前我们学习了多线程,其中解释说,当两个(或更多)线程处理同一个对象时,必须从所有线程锁定对象,除了一个与它一起工作的人。
有一个 GUI 我想将一些数据从 2 个线程写入 JTextArea 是否应该在一个线程写入对象时锁定对象,或者这已经由 JTextArea 处理?如果我应该为此烦恼,因为我不能在JTextArea 类定义中声明Lock,我该怎么做?如果我不应该为此烦恼,它是否与所有摆动对象保持相同,如果不是,有哪些例外?
【问题讨论】:
-
check this answer 在这里我讨论了使用
SwingUtilites将GUI 渲染任务提交给EventQueue以在EDT(事件调度线程)中执行的GUI 渲染任务。如果发生在文本出现需要关系之前,您可以将此调用代码放在同步函数中,但必须按照描述采取措施。
标签: java multithreading swing jtextarea