Copyright (c) 2015-, All Rights Reserved by Kwanghoon Choi
(아래 자바 프로그래밍 강의 교재의 내용을 자유롭게 이용하되 다른 웹 사이트 등을 통한 배포를 금합니다.)
Java의 스레드에 대해 다음 주제를 설명한다.
- Java 스레드를 정의하는 두 가지 방법
- 스레드 객체를 만들어 실행하는 방법
- Thread 클래스의 sleep, join, interrupt 메소드
- Object 클래스의 (숨겨진) 자물쇠(lock) 필드
- synchronized 키워드를 사용하여 공유 객체를 다루기
- Object 클래스의 wait, notify 메소드
세가지 예제를 활용한다.
- 두 개의 스레드를 만들어 카운터를 각각 동일한 횟수 만큼 증가, 감소시킨 결과가 0인지 확인 (cf. 스레드 간섭 문제)
- 카운터의 값을 항상 0 이상으로 유지하면서 위의 과정을 수행 (cf. 생산자와 소비자 문제)
- 두사람이 젓가락을 공유하면서 식사하는 문제 (cf. 철학자 식사 문제)
차례
- 스레드 (Thread)의 정의와 실행
- Java 스레드 (Thread)의 동작을 멈추게 하기
- Java 스레드 (Thread)의 실행이 끝날 때까지 기다리기
- 동기화 (synchronization)