tinyid
tinyid copied to clipboard
loadNext, loadCurrent, 会产生 号段 使用上的跳跃
trafficstars
- 假设当前使用的号段为①
- 调用
nextId多次后,会走进loadNext, 假设next = querySegmentId()里的querySegmentId已经执行完了,等待赋值给next- 假设这时候查到的号段为②
- 继续调用
nextId直到用完,会走进loadCurrent。然后因为上面的next还没赋值,所以会走进querySegmentId- 假设这时候查到的号段为③
https://github.com/didi/tinyid/blob/49976d37222ab1089a8c413b4520cc55d105d428/tinyid-base/src/main/java/com/xiaoju/uemc/tinyid/base/generator/impl/CachedIdGenerator.java#L36
https://github.com/didi/tinyid/blob/49976d37222ab1089a8c413b4520cc55d105d428/tinyid-base/src/main/java/com/xiaoju/uemc/tinyid/base/generator/impl/CachedIdGenerator.java#L69
造成的结果: ①号段使用完了,③号段接着用,然后才可能用到②号段
@duimba hhh