class PetersonAlgorithm implements Lock { boolean wantCS[] = {false, false}; int turn = 1; public void requestCS(int i) { int j = 1 - i; wantCS[i] = true; turn = j; while (wantCS[j] && (turn == j)) ; } public void releaseCS(int i) { wantCS[i] = false; } }