생산자 소비자 문제 해결 (운영체제) mutex & condition variable 이용
- 최초 등록일
- 2011.11.28
- 최종 저작일
- 2010.06
- 7페이지/ MS 워드
- 가격 2,000원
소개글
운영 체제 시간에 했던 과제로
생산자 소비자 문제를 해결하는 과제입니다
C로 구현한 소스이고 설계도 부터 결과 화면 소스 설명 주석 다 있습니다.
제가 직접 구현한 것이어서 똑같은건 없겠죠
목차
없음
본문내용
// ***************** 운 영 체 제 과 제 *****************
// ******* Solving the producer-consumer problem *******
// ****** 컴퓨터 공학과 *** 2004151035 *** 이제민 ******
#include
#include
#define BUF_SIZE 8 // 버퍼 사이즈
#define MAX_NUM 100 // 계산할 숫자의 최대 크기
// ---- 전역 변수 ----
int nslots, nitems; // 버퍼의 Empty slot, 저장해둔 item의 수
int buffer[BUF_SIZE]={0}; // 버퍼
int in, out; // 버퍼 인덱스 변수
int sum;
// ---- 동기화를 위한 mutex & condition variable ----
pthread_mutex_t mutex_lock; // mutex
pthread_cond_t cond_Vn, cond_Ve; // condition variable
// ---- 함수 ----
void initialize(); // 스레드를 사용한 계산을 위한 초기화
void put_item(); // 버퍼에 아이템 저장
int get_item(); // 버퍼에서 아이템 읽어옴
// ---- 스레드 함수 ----
void *producer(); // 생산자
void *consumer(); // 소비자
int main(void)
{
int i,thr_id; // 반복문/스레드 생성 에러 체크 변수
pthread_t thread_producer, thread_consumer; // 스레드 식별자
// ******* main에서의 합 *******
참고 자료
Advanced Linux Programming (Mark Mitchell, Jeffrey Oldham, and Samuel) Chap4. Threads
Unix Systems Programming (Kay A. Robbins, Steven Robbins) Chap12~13
Web site : http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Thread (thread 미니 사이트)