기업에서 요구했던 사항들 중 하나는 멀티 쓰레드로 운용되는 서비스에서 thread safety한 자료구조를 사용하는 것이었습니다. key value 형식으로 데이터를 저장할 때 java에서는 주로 HashMap을 많이 사용하게 되는데, 이 자료구조는 멀티 쓰레드 환경에서는 동시성 문제(concurrency issues) 가 발생할 수 있습니다. 실제로 java.util에 있는 HashMap으로 찾아가보면 위와 같은 주석 내용을 발견할 수 있습니다. 바로 해석할 수 있듯 synchronized가 되어있지 않기에, 멀티 쓰레드 환경에서 이 HashMap에 동시에 다수 쓰레드가 access하면 문제가 생길 수 있다는 내용입니다. 동시성 문제란? 동시성 문제는 여러 쓰레드가 동시에 같은 자원에 접근할 때..