读写锁
在类 中new一个读写锁对象
private ReadWriteLock readWriteLock=new ReentrantReadWriteLock();
在需要加读锁的代码段之前加入
readWriteLock.readLock().lock();
代码段之后加入
readWriteLock.readLock().unlock();
整体效果
public SubscribeOrderVO queryOrder(OrderInfoReq orderInfoReq) throws ParseException, InterruptedException {
readWriteLock.readLock().lock();
Customer customer = customerMapper.queryByPhone(orderInfoReq.getCustomerPhone());
readWriteLock.readLock().unlock();
}
信号锁
类中建立对象
private Semaphore semaphore=new Semaphore(1);
代码段之前
semaphore.acquire();
代码段之后
semaphore.release();