• 캠퍼스북
  • 파일시티 이벤트
  • LF몰 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

쓰레드의 동기화를 Pthread의 semaphore와 condition variable, java의 동기화를 이용해서 구현

*인*
최초 등록일
2006.11.24
최종 저작일
2006.05
13페이지/한글파일 한컴오피스
가격 2,000원 할인쿠폰받기
다운로드
장바구니

소개글

쓰레드의 동기화를 Pthread의 semaphore와 condition variable, java의 동기화를 이용해서 구현한 레포트

목차

<Semaphore 동기화>
< 라이브러리 사용 방법과 프로그램 구성>
<Semaphore 동기화 소스코드>
<실행결과>

<Condition Variable 동기화>
< 라이브러리 사용 방법과 프로그램 구성>
<Condition Variable 동기화 소스코드>
<실행결과>

<Java 동기화>
< 라이브러리 사용 방법과 프로그램 구성>
<자바 동기화 소스코드>
<실행결과>

<논의>

본문내용

< 라이브러리 사용 방법과 프로그램 구성>
semaphore를 사용하기 위해선 semaphore.h 파일을 인클루드 시켜야함.
semaphore 변수는 sem_t 문으로 선언함, full 변수는 데이터가 채워진 갯수, empty 변수는 데이터가 빈자리 개수, mutex 변수는 뮤추얼 익스쿨루션임.
initbuf(struct buffer *p) 함수를 호출해서 버퍼 변수와 세마포 변수들을 초기화함

putmsg() 함수에서 sem_wait(&empty) 함수가 empty 변수가 0인지 체크를 하고 0이면 버퍼가 가득 차 있다는 것을 인식하고 버퍼가 빈자리가 생길 때까지 기다린다. sem_wait(&mutex) 함수는 mutex 가 0인지를 체크하고 0이면 사용가능한 상태가 될 때까지 기다린다. getmsg() 함수에서 sem_post(&mutex) 함수를 사용해서 mutex가 해제되었다는 것을 알려주고, sem_post(&empty) 함수를 사용해서 empty 변수가 0이 아님을 알려주면 그 때 putmsg()함수가 실행이 되고 버퍼에 값을 저장한다.

getmsg()함수에서 sem_wait(&full) 함수가 full 변수가 0인지 체크를 하고 0이면 버퍼가 비어 있다는 것을 인식하고 버퍼에 내용이 채워질 때까지 기다린다. sem_wait(&mutex) 함수는 mutex 가 0인지를 체크하고 0이면 사용가능한 상태가 될 때까지 기다린다. putmsg() 함수에서 sem_post(mutex) 함수를 사용해서 mutex가 해제되었다는 것을 알려주고, sem_post(&full) 함수를 사용해서 full 변수가 0이 아님을 알려주면 그 때 getmsg() 함수가 실행이 되고 버퍼에서 값을 제거한다.

참고 자료

없음

자료후기(1)

*인*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

찾던 자료가 아닌가요?아래 자료들 중 찾던 자료가 있는지 확인해보세요

최근 본 자료더보기
탑툰 이벤트
쓰레드의 동기화를 Pthread의 semaphore와 condition variable, java의 동기화를 이용해서 구현
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업