OS
피터슨 알고리즘
ndlessrain
2013. 4. 7. 20:24
728x90
#define FALSE 0
#define TRUE 1
#define N 2
int turn;
int interested[N];
void enter_region(int process){ // Peterson's Algorithm에서 사용하는 임계구역 진입함수
int other; //other thread number
other = 1 - process;
interested[process] = TRUE; // 진입 프로세스의 interested true 세팅
turn = process;
//진입 프로세스 차례고, interested 가 true일 경우에 바쁜 대기
while(turn == process && interested[other] == TRUE);
}
void leave_region(int process){ // Peterson's Algorithm에서 사용하는 임계구역 탈출함수
interested[process] = FALSE; // interested를 false로 세팅하고 leave
}
728x90