0

我想知道如何确保以下方法在同时调用时是安全的。当从两个不同的参与者调用它时,图像可能会混合并保存在该方法下,该方法将为给定的 url 返回不同的图像。

def readFromURL(url: URL): Box[(Array[Byte], String, String)] = {
  tryo {
    val image = ImageIO.read(url)
    val mimeType = url.openConnection().getContentType()
    val imageType = mimeType.split("/")(1)
    val baos = new ByteArrayOutputStream()
    ImageIO.write(image, imageType, baos)
    val byteArray = baos.toByteArray()
    val fileName = org.apache.commons.codec.digest.DigestUtils.md5Hex(byteArray)
    baos.flush()
    baos.close()
    (byteArray, mimeType, fileName)
  }
}
4

1 回答 1

2

这对我来说看起来是线程安全的,而且 org.apache.commons.codec.digest.DigestUtils 也被宣传为线程安全的。

于 2013-08-25T21:43:33.523 回答