首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

一个循环流水号兑现,求评

2012-10-17 
一个循环流水号实现,求评给了个需求,要求做一个1 - 999999的循环的流水号生成方法,小弟没做个类似的东西,

一个循环流水号实现,求评
给了个需求,要求做一个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();}


生成的数字测过,没问题,就是不知道这么写在多线程时靠不靠谱,当并发多大的时候,会出问题吗?
1 楼 lysino 2011-09-23   若把此问题交给oracle的sequence来解决岂不是很简单,而且还可以支持多应用服务器的情况

热点排行