검색어 입력폼
평가점수D

[Java synchronization] Java-synchronization

등록일 2004.06.19 한글파일한컴오피스 (hwp) | 7페이지 | 가격 1,000원

소개글

이 방법은 synchronized가 첨가된 메소드인 P()나 V()를 도착했을 경우 이 P(), V()메소드를 사용하고 있는 클래스는 자바 가상머신(JVM)에게 lock을 신청하고, JVM에서 승인이 나면 P() 또는 V()를 사용하고 있는 클래스 영역을 실행하고, 실행하고 있는 동안에는 lock이 걸려 있는 상태이기에 쓰레드 모니터를 사용하여 다른 쓰레드가 접근하는 것을 통제하게 된다.

목차

Java synchronization를 이용한 producer-consumer 프로그램
3가지 프로그램의 장단점 분석.
결론/느낀점

본문내용

3가지 프로그램의 장단점 분석.
(Java synchronization, semaphore,condition variable)
3개의 프로그램 모두 각각의 방법은 다르지만, 동기화를 구현했다는 점에서는 서로 일맥상통하는데, 우선 첫 번째 java 프로그램에서는 동기화를 위해서 java에서 지원하고 있는 synchronized 키워드를 사용했는데, 이는 producer와 consumer사이의 공유버퍼 공간에서 데이터를 공유하는 여러 쓰레드들이 쓰레드 간의 충돌을 방지해 공유자원에 대한 일관성을 유지하기 위한 방법으로 사용하였다. 이 방법은 synchronized가 첨가된 메소드인 P()나 V()를 도착했을 경우 이 P(), V()메소드를 사용하고 있는 클래스는 자바 가상머신(JVM)에게 lock을 신청하고, JVM에서 승인이 나면 P() 또는 V()를 사용하고 있는 클래스 영역을 실행하고, 실행하고 있는 동안에는 lock이 걸려 있는 상태이기에 쓰레드 모니터를 사용하여 다른 쓰레드가 접근하는 것을 통제하게 된다. java의 synchronized방법은 약간의 성능저하가 생기는데, 다른 시스템이 수행되는 동안 기다려야 한다는 점에서 무한정 기다릴 수 밖에 없는 starvation이 생길 수 있고, 접근하는 시간이 같아 함께 들어오려고 하는 deadlock이 생길수 있다는 단점을 안고 있다.

참고 자료

없음
다운로드 맨위로