Synchronized 동시성 문제 해결


Synchronized 동시성 문제 해결

요청이 동시에 여러 개 들어오면 어떻게 될까? @Transactional을 사용해도 다른 스레드에서 사용 가능 @Service @RequiredArgsConstructor public class StockService { private final StockRepository stockRepository; @Transactional public synchronized void decrease(Long stockId, Long quantity) { final Stock stock = stockRepository.findById(stockId).orElseThrow(); stock.decrease(quantity); stockRepository.saveAndFlush(stock); } } @Test void stock_decrease() { stockService.decrease(1L, 10L); final Stock stock = stockRepository.findById(1L).or...


#java #Spring #Synchronized #동시성

원문링크 : Synchronized 동시성 문제 해결