您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

最大限度地减少多线程环境中的SecureRandom性能问题?

最大限度地减少多线程环境中的SecureRandom性能问题?

查看的源代码SecureRandom,它使用一种synchronized方法,因此synchronized在多线程环境下进行的任何讨论都适用。

鉴于Randomjavadoc中的这一注释(如您所述),我认为您的使用计划ThreadLocal<SecureRandom>是适当的:

的实例java.util.Random是线程安全的。但是,java.util.Random跨线程并发使用同一实例可能会遇到争用并因此导致性能下降。考虑改为ThreadLocalRandom在多线程设计中使用。

总结一下,您的实现不会遇到内存泄漏问题。这尤其如此,因为存储在中的对象ThreadLocal来自系统ClassLoader,而不是来自Webapp的ClassLoader。

其他 2022/1/1 18:17:44 有563人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶