Assume that a single database source is the case.
Lock data through the Select for update.
Test the program.
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 <; i + +) {
Gs[i] = new Testgetter (i);
}
for (Testgetter G:gs) {
G.start ();
}
}
}
Next time plan to test performance and use synchronized to implement.
Java Build serial number (1)