낙관적 및 비관적 락 개념과 구현 방식

낙관적 락과 비관적 락 정의 비관적 락(Pessimistic Locking): 데이터가 다른 스레드에 의해 수정될 가능성을 항상 고려하는 방식입니다. 이는 자원을 항상 잠금 상태로 유지하며, 다른 스레드가 해당 자원에 접근할 때까지 차단합니다. Java에서 synchronized와 ReentrantLock은 이러한 비관적 접근 방식을 따릅니다. 낙관적 락(Optimistic Locking): 데이터가 수정되 ...

5월 29일 18:04에 게시됨

SpringBoot 비동기 처리와 세마포어를 활용한 동시성 제어

세마포어(Semaphore)는 다중 스레드 환경에서 공유 자원에 대한 동시 접근을 제어하는 동기화 메커니즘입니다. 허용된 개수만큼의 스레드만 자원에 접근할 수 있도록 관리하며, 초과하는 요청은 대기 상태로 전환됩니다. 실무에서는 외부 API 호출, 데이터베이스 연결, 파일 I/O 등 리소스 집약적인 작업에 동시 접근 제한을 적용하여 시스템 안정성을 확보합니다. 예를 ...

5월 29일 08:32에 게시됨