给了个需求,要求做一个1 - 999999的循环的流水号生成方法,小弟没做个类似的东西,摸索着写了个,特来求评,还望赐教
/**
* 流水号
*/
private static volatile int serialNumber = 0;
/**
* 生成流水号
* 从1 - 999999,不足六位,从右往左补0
* @return
*/
public static synchronized String generateSerialNumber(){
int n = serialNumber = ++serialNumber;
if(n == (999999 + 1)){
serialNumber = n = 1;
}
StringBuffer strbu = new StringBuffer(6);
strbu.append(n);
for(int i=0, length=6-strbu.length(); i<length; i++){
strbu.insert(0, 0);
}
return strbu.toString();
}
生成的数字测过,没问题,就是不知道这么写在多线程时靠不靠谱,当并发多大的时候,会出问题吗?
分享到:
相关推荐
for循环实现流水灯
运用循环语句实现流水灯的循环
循环式流水灯,可实现8个发光二极管循环点亮!满足老师布置的任何流水灯程序!
基于C51系列单片机-第二节,左右循环流水灯
C语言循环队列指针实现的一个例子,适合初学者研究
这个是用Labview9.0实现流水灯的一个VI
循环队列的C++实现,采用类写的,对数据结构学习者很有用哈
根据栈和队列的抽象数据类型的定义,按要求实现一个栈或一个队列。 要求: 1、 实现一个共享栈 2、 实现一个链栈 3、 实现一个循环队列 4、 实现一个链队列
使用for循环实现全排列是最简单最基础的一个全排列的过程,其他的全排列思想都是出自此处。
单片机控制8个流水灯循环点亮的程序
C语言实现求1+2+3+……+100的和,要求分别用while、do while、for循环实现。.txt
循环队列的基本操作和实现循环队列的基本操作和实现
c语言循环队列节点实现的一个例子,适合c/c++的初学者学习
C++ 用数组实现一个循环队列,很经典的,大家可以看看。
跑马灯或者叫“流水灯”:实现 LED 灯的循环移动 可采用模块化设计:分成时钟产生模块,移位模块、LED 驱动模块、模式切换模块 具体的流水灯数目自选 是否可以切换模式自选 模式的个数自选 模式:指流水灯的花式,...
实现8个LED流水灯汇编语言程
51单片机在工程中包含intrins.h头文件,使用循环左移_crol_(a,b)和循环右移函数_cror_(a,b)实现双向流水灯
matlab实现循环谱算法,可对具有循环平稳特点的数据进行筛选分析。
循环链表 实现约瑟夫环 java 自己写的 测试通过 有注释
论文:一种微控制器中零开销循环的实现方法。