java - 使用 Swing 创建图像是线程安全的吗?

标签 java multithreading swing thread-safety

我想使用this Swing snippet从非基于 Swing 的应用程序(具体来说,使用 Play Framework 编写的 Web 服务)的文本标签创建图像。

我从未使用过 Swing,并且看到“它不是线程安全的”。这是否适用于我计划运行的最少代码?我应该同步对此代码的访问吗?

如果我理解关于 Swing thread-safety 的答案正确地,那么除非一个方法明确表示它是安全的,那么它就不是......并且我使用的方法(特别是 BufferedImage.getGraphics() 似乎没有这段 javadoc)。因此,除非另有说明,否则我将进行同步。

最佳答案

“非线程安全”意味着您不能同时从多个线程访问相同的内容。
只要您不跨线程共享对象,在后台线程上运行该代码就没有任何问题。

请注意,大多数(非 UI)对象对于只读操作都是线程安全的。

关于java - 使用 Swing 创建图像是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8975533/

相关文章:

java - MouseListener 什么都不做

java - 为什么 Java 7 中没有原生属性?

java - iTextPDF 到 OpenPDF 集成

java - CXF、Camel 和 Spring 线程阻塞问题

android - 如何使用暴力取消 AsyncTask

java - Thread.sleep() 停止我的绘画?

Java - 计算 PI - 单线程与多线程

java - 创建具有以 base 64 编码的字节数组的 PrivateKey 和 PublicKey

c# - 如何使用BackgroundWorker在单独的线程中运行像 `object = ClassA.GetObject()`这样的任务?

java - 动态更改 JTree 中特定节点的图标