|
mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; // mutex 변수
int DIRECTION, WEATHER, STATE, GEAR, SPEED, SPEED_LIMIT;
void init(void);
void* t_weather(void *data);
void* t_state(void *data);
void* t_speed_gear(void *data);
void navigation(FILE* map);
int main()
{
//// 1. 변수들 선언
pthre
|
- 페이지 1페이지
- 가격 1,000원
- 등록일 2006.06.30
- 파일종류 압축파일
- 참고문헌 없음
- 최근 2주 판매 이력 없음
|
|
Mutex handle 닫음.
return 0;
}
DWORD WINAPI thread_func_1(LPVOID para)//consume 수행.
{
int cons=0; //소비되어 빠질값의 배열index
while(1)
{
WaitForSingleObject(Sem, INFINITE); //WaitForSingleObject 함수 호출 (세마포어>0일때 획득)
int consumed_data = arr[cons];
arr[cons] = 0;//배열에
|
- 페이지 6페이지
- 가격 2,000원
- 등록일 2011.05.17
- 파일종류 한글(hwp)
- 참고문헌 없음
- 최근 2주 판매 이력 없음
|
|
운영체제 생산자 소비자 문제
mutex locks, semaphore를 이용해서 해결하기
적당한 크기의 배열을 하나 만들어, 생산자는 이 배열에 값을 넣는 쓰레드이고, 소비자는 배열에서 값을 빼는 쓰레드일 때, 각각의 쓰레드가 공유하는 하나의 배열에
|
- 페이지 10페이지
- 가격 1,500원
- 등록일 2009.12.14
- 파일종류 압축파일
- 참고문헌 없음
- 최근 2주 판매 이력 없음
|
|
Mutex
▶ Process간 통신하기 위해 Shared memory를 이용하였고
메모리에 접근할 때마다 Mutex를 이용하여 Critical Section을 보호.
- Method of Multi-tasking : Process control
▶ Process를 fork()하여 현재 IP 주소의 소켓을 열어주
|
- 페이지 15페이지
- 가격 500원
- 등록일 2012.12.24
- 파일종류 압축파일
- 참고문헌 없음
- 최근 2주 판매 이력 없음
|
|
mutex_trylock(mutexChopstick+g_index))
g_index=(++g_index)%5;
left=g_index++;
while(pthread_mutex_trylock(mutexChopstick+g_index))
g_index=(++g_index)%5;
right=g_index++;
spa++;
printf("philosopher %d eat spaghetti %d times\n",id,spa);
if(spa==5)
{
printf("philosopher %d is full!\n",id);
loop=0;
}
p
|
- 페이지 5페이지
- 가격 0원
- 등록일 2008.07.09
- 파일종류 한글(hwp)
- 참고문헌 없음
- 최근 2주 판매 이력 없음
|