본문 바로가기

프로그래밍 언어 (プログラミング言語)/JAVA

JAVA에서의 동기화 기법(모니터 etc)

JAVA에서 모든 객체는 내부적으로 모니터를 가진다. 

1. 모니터의 mutual exclusion 기능은 synchrnozied 키워드로 사용한다.

2. JAVA의 모니터는 condirtion variable을 하나만 가진다. ( 두 개 이상의 cv를 원한다면 따로 구현이 필요)

3. JAVA 모니터의 세 가지 동작(Operation)

a) wait

b) notify(=signal)

c) notifyAll(=broadcast)

 

bounded producer/consumer problem WITH JAVA

 

java.util.concurrent에는 동기화 기능이 탑재된 여러 클래스들이 있으니 참고하자.