【发布时间】:2016-02-20 15:45:01
【问题描述】:
假设我有一个多线程程序,它接收多个文件,每个线程从其中一个文件中读取行,并通过将每一行附加到 GUI 中的 TextArea 来更新 GUI 窗口。追加到 TextArea 的方法被注册为线程的回调方法。如何确保附加操作是线程安全的?我读过我应该使用java.awt.EventQueue.invokeLater; invokeLater 方法本身是线程安全的吗?也就是说,在回调函数中,我是否只需要创建一个 Runnable 来更新 TextArea 并在其上调用 invokeLater? (回调方法不同步)
【问题讨论】:
-
是的,invokeLater() 是线程安全的。
标签: java multithreading swing