개발/Java

멀티 스레드 고려하기

현이킴 2020. 10. 11. 14:14

Map을 사용할 때 큰 고민 없이 put, get 메서드를 호출했는데 멀티 스레드 환경에서 왜 스레프 세이프를 고려해야 하는지를 알 수 있었다. 몇 달 전에도 서비스 운영 중 Out of memory가 떠서 힙 덤프를 떠봤었는데 HashMap이 차지하는 비율이 높았었다. 스레프 세이프를 고려하지 못했던게 원인이었을 것 같기도 하다.


하나의 메모리 누수를 잡기까지 https://d2.naver.com/helloworld/1326256

멀티 쓰레드(Multi Thread)란 무엇인가? https://goodgid.github.io/What-is-Multi-Thread/

SynchronizedMap과 ConcurrentHashMap https://ooz.co.kr/71

멀티쓰레드 환경에서 캐시 구현하기 https://www.pymoon.com/entry/%EB%A9%80%ED%8B%B0%EC%93%B0%EB%A0%88%EB%93%9C-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-%EC%BA%90%EC%8B%9C-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0