공유자원 접근 문제
- 여러 스레드가 공유 자원에 동시 접근하며, 데이터 불일치나 예측할 수 없는 동작을 수행함
- 이를 해결하기 위해 개발자는 명시적 동기화 기법을 사용해야하나, 이는 복잡하고 오류 발생 가능성이 높음
Concurrent 패키지
- Java 5 부터 도입
- 여러 작업을 동시에 할 수 있도록 함
- 동시성 문제를 해결하기 위한 패키지
Concurrent 패키지 사용
- Executors
- 고수준 Concurrency 프로그래밍
- Thread 생성/관리
- 작업 처리 및 실행
- Executor : 스레드 생성
- ExecutorService : Executor 상속받은 인터페이스, 실행 종료에 관여
- Concurrent Collections : 동시성을지원하는 다양한 컬렉션 클래스 제공