java 生成不重复的序列号_生成16位不重复序列号
public classRandom {//private static int index = 0;staticAtomicInteger index = new AtomicInteger(0);staticJedis jedis;public static voidmain(String[] args){jedis=new Jedis("127.0.0.1", 6379);new Thr..
public classRandom {//private static int index = 0;
static AtomicInteger index = new AtomicInteger(0);staticJedis jedis;public static voidmain(String[] args){
jedis=new Jedis("127.0.0.1", 6379);
new Thread(newRunnable() {
@Overridepublic voidrun() {while(true){
String timestamp= String.valueOf(newDate().getTime());
String key= timestamp + String.valueOf(newRandom().getIndex());
System.out.println("1:" +key );
String value=getKey(key);if(value!= null){
System.out.println("key:" +key);
index.set(1000);
}else{
setKey(key);
}
Thread.yield();if(index.get() == 1000)break;
}
}
}).start();new Thread(newRunnable() {
@Overridepublic voidrun() {while(true){
String timestamp= String.valueOf(newDate().getTime()) ;
String key= timestamp + String.valueOf(newRandom().getIndex());
System.out.println("2:" +key );
String value=getKey(key);if(value!= null){
System.out.println("key:" +key);
index.set(1000);
}else{
setKey(key);
}
Thread.yield();if(index.get() == 1000)break;
}
}
}).start();new Thread(newRunnable() {
@Overridepublic voidrun() {while(true){
String timestamp= String.valueOf(newDate().getTime()) ;
String key= timestamp + String.valueOf(newRandom().getIndex());
System.out.println("3:" +key );
String value=getKey(key);if(value!= null){
System.out.println("key:" +key);
index.set(1000);
}else{
setKey(key);
}
Thread.yield();if(index.get() == 1000)break;
}
}
}).start();/*try {
TimeUnit.MILLISECONDS.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("size: " + map.size());*/}privateString getIndex(){
synchronized(Random.class){
index.getAndIncrement();if(index.get() == 1000)
index.set(0);return String.format("%03d", index.get());
}
}public static voidsetKey(String key){
synchronized(Random.class){
jedis.set(key, key);
}
}public staticString getKey(String key){
synchronized(Random.class){return jedis.get(key);
}
}
}
更多推荐
所有评论(0)