package com.demo.base;
import java.util.HashSet;
import java.util.Set;
import org.apache.shardingsphere.core.strategy.keygen.SnowflakeShardingKeyGenerator;
public class SnowFlakeKeyTest2 {
private static Set keys = new HashSet();
public static void main(String[] args) throws Exception {
for(int i=0;i<100;i++) {
SnowFlakeKeyTest2.GetKey runner = new SnowFlakeKeyTest2().new GetKey();
new Thread (runner).start();;
}
System.out.println(keys);
}
class GetKey implements Runnable{
@Override
public void run() {
SnowFlake key = new SnowFlake(30,20);
long k = key.nextId();
if(!keys.contains(k)) {
keys.add(k);
}else {
System.out.println("重复:"+k);
}
}
}
}
以下是运行结果
重复:329758983201832960
重复:329758983201832960
重复:329758983206027264
重复:329758983206027264
重复:329758983206027264
重复:329758983206027264
重复:329758983206027264
重复:329758983206027264
重复:329758983206027264
重复:329758983206027264
重复:329758983210221568
重复:329758983210221568
重复:329758983210221568
重复:329758983210221568
重复:329758983214415872
重复:329758983218610176
重复:329758983218610176
重复:329758983218610176
重复:329758983222804480
重复:329758983222804480
重复:329758983222804480
重复:329758983222804480
重复:329758983222804480
重复:329758983226998784
重复:329758983226998784
重复:329758983226998784
重复:329758983226998784
重复:329758983226998784
重复:329758983226998784
重复:329758983226998784
重复:329758983231193088
重复:329758983231193088
重复:329758983231193088
重复:329758983226998784
重复:329758983231193088
重复:329758983231193088
重复:329758983231193088
重复:329758983231193088
重复:329758983231193088
重复:329758983231193088
重复:329758983231193088
重复:329758983231193088
重复:329758983243776000
重复:329758983247970304
重复:329758983247970304
重复:329758983256358912
重复:329758983256358912
重复:329758983256358912
重复:329758983256358912
重复:329758983256358912
重复:329758983256358912
重复:329758983260553216
[329758983218610176, 329758983201832960, 329758983206027264, 329758983210221568, 329758983214415872, 329758983222804480, 329758983243776000, 329758983247970304, 329758983226998784, 329758983231193088, 329758983235387392, 329758983239581696, 329758983260553216, 329758983252164608, 329758983256358912]
重复:329758983260553216
重复:329758983260553216
重复:329758983260553216
重复:329758983260553216
重复:329758983260553216
重复:329758983264747520
重复:329758983264747520
重复:329758983264747520
重复:329758983264747520
重复:329758983264747520
重复:329758983264747520
重复:329758983264747520
重复:329758983264747520
重复:329758983268941824
重复:329758983268941824
重复:329758983268941824
重复:329758983268941824
重复:329758983268941824
重复:329758983268941824
重复:329758983273136128
重复:329758983273136128
重复:329758983273136128
重复:329758983273136128
重复:329758983273136128