Closed ZPZP1 closed 1 year ago
JDK8u112前高并发下生成UUID当操作系统中缺少“熵”时,随机数的生成将减慢。当速度变慢时,调用此“java.util.UUID#randomUUID()”API 调用的应用程序线程将被置于 BLOCKED 状态,它们将无法继续前进。
不太想引入第三方库
嗯嗯,我试试用线程私有的SecureRandom对象可不可以解决这个问题。
已修改为使用线程私有的SecureRandom对象来生成随机数,从而避免高并发下生成种子时的锁竞争。
What kind of change does this PR introduce? (check at least one)
The description of the PR: UUID在jdk版本小于JDK8u112时存在高并发阻塞bug,详情参考:https://heapdump.cn/article/4421829 ,因此采用优化雪花算法的id生成器IdGenerator来生成事务id。 Other information: 问题来源: #504