java 加锁方法:
1:直接加
synchronized 关键字
2:使用lock
private java.util.concurrent.locks.Lock lock = new ReentrantLock();
private void fun(){
lock.lock();
try{
执行语句......
} finally{
lock.unlock();
}
}
例子:
生成订单号,此处是由时间戳
public class Tools {
private static int count = 0;
//单台服务器,多个线程 同时生成订单号
public static String getNumber() {
//区分不同的订单号
try {
Thread.sleep(300);
} catch (Exception e) { // TODO: handle exception
}
SimpleDateFormat simpt = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
return simpt.format(new Date()) + "-" + ++count; //时间戳后面加了 count
}
}
开启100个线程调用之:
public class ordersService implement