我想使用this Swing snippet从非基于 Swing 的应用程序(具体来说,使用 Play Framework 编写的 Web 服务)的文本标签创建图像。
我从未使用过 Swing,并且看到“它不是线程安全的”。这是否适用于我计划运行的最少代码?我应该同步对此代码的访问吗?
如果我理解关于 Swing thread-safety 的答案正确地,那么除非一个方法明确表示它是安全的,那么它就不是......并且我使用的方法(特别是 BufferedImage.getGraphics()
似乎没有这段 javadoc)。因此,除非另有说明,否则我将进行同步。
最佳答案
“非线程安全”意味着您不能同时从多个线程访问相同的内容。
只要您不跨线程共享对象,在后台线程上运行该代码就没有任何问题。
请注意,大多数(非 UI)对象对于只读操作都是线程安全的。
关于java - 使用 Swing 创建图像是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8975533/