public class Seqence6bit {
private int seq = 100000;
private Seqence6bit() {
}
private static class Seqence6bitContainer {
private static Seqence6bit instance = new Seqence6bit();
}
public static Seqence6bit getInstance() {
return Seqence6bitContainer.instance;
}
public synchronized String getSeq() {
this.seq++;
if (this.seq >= 1000000) {
this.seq = 100000;
return "100000";
}
return String.valueOf(seq);
}
}
private int seq = 100000;
private Seqence6bit() {
}
private static class Seqence6bitContainer {
private static Seqence6bit instance = new Seqence6bit();
}
public static Seqence6bit getInstance() {
return Seqence6bitContainer.instance;
}
public synchronized String getSeq() {
this.seq++;
if (this.seq >= 1000000) {
this.seq = 100000;
return "100000";
}
return String.valueOf(seq);
}
}
本文介绍了一个使用Java实现的6位序列号生成器。该生成器采用单例模式确保全局唯一实例,并通过同步方法保证多线程环境下的序列号递增操作不会发生冲突。当序列号达到上限999999时,会重新回到100000开始计数。
796

被折叠的 条评论
为什么被折叠?



