概述
假设是单一数据库源的情况。
通过SELECT FOR UPDATE锁数据。
测试程序。
package javay.test;
class TestGetter extends Thread {
private int id;
public TestGetter(int n) {
id = n;
}
/* *
* @see java.lang.Thread#run()
*/
@Override
public void run() {
String[] keys = {
"key11",
"key12",
"key13"
};
long sn = -2;
try {
sn = JSerialNumber.updateSerialNumber(keys);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Thread" + id + ":sn=" + sn);
}
}
public class TestJN {
public static void main(String[] args) throws Exception {
// String[] keys = {
// "key11",
// "key12",
// "key13"
// };
// // long sn = JSerialNumber.createSerialNumber(keys, JSerialNumber.MIN_VALUE, 1L, JSerialNumber.MAX_VALUE);
// long sn = JSerialNumber.updateSerialNumber(keys);
// System.out.println("TestJN:sn=" + sn);
TestGetter[] gs = new TestGetter[100];
for (int i = 0; i < 100; i ++) {
gs[i] = new TestGetter(i);
}
for (TestGetter g : gs) {
g.start();
}
}
}
下次计划测试一下性能和使用synchronized来实现一下。
最后
以上就是踏实自行车为你收集整理的java生成顺序流水号_Java生成流水号(1)的全部内容,希望文章能够帮你解决java生成顺序流水号_Java生成流水号(1)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复