목록synchronized (2)
개발자는 기록이 답이다

1. 데이터 모델링쿠폰 발행 기능을 구현하기 위해 Coupon 테이블에 지금까지 발행된 쿠폰 개수(issued_quantity)를 반정규화하는 방식을 사용했습니다.CREATE TABLE coupon( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT '쿠폰 식별자', event_id BIGINT UNSIGNED NOT NULL COMMENT '이벤트 식별자', discount_type VARCHAR(40) NOT NULL COMMENT '정액, 정률 등', discount_rate BIGINT UNSIGNED NULL COMMENT '정률 할인', d..

1. 동기화 메소드와 동기화 블록 공유 객체를 사용할 때의 주의할 점 싱글 스레드 프로그램에서는 한 개의 스레드가 객체를 독차지해서 사용하면 되지만, 멀티 스레드 프로그램에서는 스레드들이 객체를 공유해서 작업해야 하는 경우가 있다. 이 경우, 스레드 A를 사용하던 객체가 스레드 B에 의해 상태가 변경될 수 있기 때문에 스레드 A가 의도했던 것과는 다른 결과를 산출할 수도 있다. 이는 마치 여러 사람이 계산기를 함께 나눠 쓰는 상황과 같아서 사람 A가 계산기로 작업을 하다가 계산 결과를 메모리에 저장한 뒤 잠시 자리를 비웠을 때 사람 B가 계산기를 만져서 앞 사람이 메모리에 저장한 값을 다른 값으로 변경하는 것과 같다. 그런 다음 사람 A가 돌아와 계산기에 저장된 값을 이용해서 작업을 진행한다면 결국 사람..