Semaphore1 동기화 (Synchronization) - (2) 1. Peterson의 해결안 (Peterson's Solution) flag, turn 변수를 사용 flag : 특정한 프로세스가 임계 구역으로 들어갈 준비가 되었다는 것을 나타낸다. (true, false) flag [i]가 true라면 Pi가 임계 구역으로 진입할 준비가 되었다는 것을 나타낸다. turn : 임계 구역으로 진입할 프로세스의 순번 turn == i이면 프로세스 Pi가 임계 구역에서 실행될 수 있다. // 프로세스 i의 실행 구조 while (true) { flag[i] = true; //프로세스 i가 임계구역에 들어갈 준비가 됨 turn = j; // 프로세스 j가 실행될 차례 (turn을 상대방에게 양보한다) while (flag[j] && turn == j); //flag[j]가 .. 2021. 12. 9. 이전 1 다음 반응형