Java 멀티스레딩 기초와 동시성 제어 핵심 요약

멀티스레드의 이해와 구현 방법 멀티스레딩은 하나의 프로세스 내에서 여러 실행 흐름을 동시에 처리하는 기술입니다. Java에서 스레드를 생성하고 실행하는 방법은 크게 세 가지로 나뉩니다. 1. Thread 클래스 상속 가장 기본적인 방법으로, Thread 클래스를 상속받아 run() 메서드를 오버라이드합니다. public class WorkerThread extends Thread { @Override ...

7월 23일 09:30에 게시됨

Java 싱글턴 패턴 구현 기법과 스레드 안전성 비교

싱글턴 패턴(Singleton Pattern)은 특정 클래스의 인스턴스가 애플리케이션 전반에 걸쳐 오직 하나만 존재하도록 보장하고, 이에 대한 전역 접근 포인트를 제공하는 생성 디자인 패턴입니다. Java 언어를 기준으로 다양한 싱글턴 구현 기법과 각 방식의 스레드 안전성을 분석합니다. 1. 즉시 초기화 방식 (Eager Initialization) 클래스가 JVM에 로드되는 시점에 정적 변 ...

6월 22일 23:10에 게시됨

HashMap의 부적절한 사용으로 인한 CPU 100% 문제 분석

이전 프로젝트에서 비슷한 문제가 발생했었는데, 그때는 CurrentHashMap을 사용했습니다. 이 글은 그러한 문제를 재조명하고, 개발자들에게 경고하기 위한 것입니다. HashMap의 잘못된 사용으로 인해 최근에도 여러 사례가 발생했습니다. 이에 대한 자세한 내용은 다음과 같습니다. 다음 코드는 HashMap의 쓰레드 안전하지 않은 사용으로 인한 데드락(실제로는 데드리프) ...

6월 13일 21:39에 게시됨