如果我在不同的线程上创建 GUI,并确保 GUI 发生的任何更新仅发生在该线程上,那么它仍然是线程安全的吗?我知道这很难确保,所以在某种程度上我想问:与其他线程相比,EDT 有什么特别/不同的地方吗?
请记住,我并不是在询问这个问题的良好实践或其他解决方案,我是在问,在纯粹的技术层面上,如果您基本上像 EDT 一样对待线程,那么在新的线程上创建的 GUI 是否会出现问题?线程可以安全使用吗?
最佳答案
它不是线程安全的,因为您的进程不是唯一读取/写入 UI 元素的进程。 JRE 也可以读写,但它是通过 EDT 进行的。因此,即使您在非 EDT 的单个线程中读/写,也有一些进程在 EDT 中执行此操作 - 因此您最终会得到一个 UI 元素、几个线程、没有同步。
关于java - 如果我在非 EDT 的单个线程上处理 GUI,它仍然是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44264407/