MessageDigest
プロジェクトで md5 署名を計算するために使用しますが、パフォーマンス テスト中にArrayIndexOutOfBoundsException
.
MessageDigest
これがシングルトンであり、スレッドセーフではないためであることを示唆する投稿をいくつか見つけました。MessageDigest
この問題を回避する方法、またはスレッドセーフな同等のクラスがあるかどうかを知っている人はいますか?
MessageDigest
プロジェクトで md5 署名を計算するために使用しますが、パフォーマンス テスト中にArrayIndexOutOfBoundsException
.
MessageDigest
これがシングルトンであり、スレッドセーフではないためであることを示唆する投稿をいくつか見つけました。MessageDigest
この問題を回避する方法、またはスレッドセーフな同等のクラスがあるかどうかを知っている人はいますか?
MessageDigest
これはシングルトンだからだと誰かが言う
それがあなたの MessageDigest
目的でしょう。クラスそのものではありません。MessageDigest.getInstance()
常に新しいインスタンスを返します。Javadoc を参照してください。
スレッドセーブではありません。
スレッドセーフ。
さて、誰もがこの問題を解決する方法を知っています
複数のスレッド間で MessageDigest インスタンスを共有しないでください。クラスメンバーにするのではなく、それを呼び出すメソッドのローカル変数にします。