반응형 동시성이슈2 ConcurrentHashMap 을 활용한 동시성 제어 이전 포스팅에서 ConcurrentHashMap 에 대해서 다룬 글이 있다.자세한 내용은 아래 참고 포스팅 참고 바란다. ConcurrentHashMap 은 일단 Collections 중 하나인 map 과 비슷한데 Key Value 로 나뉜다.그러면서 key마다 value에 각각 thread 별로 데이터를 넣어주면 동시성 제어가 된다는 의미이다. 예제로 확인해보면 아래와 같다.참고로 코드에서 사용중인 Thread에 대한 정보는 아래 참고 포스팅을 확인해보면 Thread 정보를 가져오는 법을 알수 있다. ..이상 생략private final Map> entities = new ConcurrentHashMap(); public void setEntities(String key, ListCustEntity>.. 2024. 8. 16. ThreadLocal (동시성문제) 사용법 및 주의사항 이전 포스팅에서 Thread 사용법에 대해서 다룬적이 있다.자세한 내용은 아래 참고 포스팅 참고 바란다. 하지만 대량 트래픽이 존재하는 서비스에서 매번 발생하는 문제.바로 동시성 이슈 이다. 자바 Spring에서는 기본으로 Bean을 singleton으로 띄우게 된다.singleton 에 대한 자세한 내용은 아래 참고 포스팅 참고 바란다. 테스트를 할 경우에는 하나의 요청이 들어오니 상관이 없지만 동시에 여러 요청이 들어올 경우에 하나의 bean에 여러 값을 동시에 입력을 하면 출력은 다른 값이 나오는 이슈가 생길수 있다. 아래 그림을 보면하나의 클라이언트가 하나의 bean에 입력을 하면 정상적으로 입력한 값이 bean에 저장되고 그 값을 가져올수 있다.하지만 아래 그림과 상황이 같다면프로세스 순서는 앞.. 2023. 10. 12. 이전 1 다음 반응형