Too much milk problem

덤프버전 :




이 문서는 나무위키의 이 토론에서 문서 존치(으)로 합의되었습니다.
타 위키에서의 합의내용이 더위키에서 강제되지는 않지만 문서를 편집하실때 참고하시기 바랍니다.


1. 개요
2. 설명
3. 해결책
4. 관련 문서


1. 개요[편집]


Too much milk problem

운영체제가 오랫동안 작업할 경우 발생할 수 있는 문제. 다중CPU 관련. 동시에 발생한 작업 사이에 동기화가 제대로 안 됐을 경우 어떤 문제가 발생하는지 보여준다.

2. 설명[편집]


1. 철수가 냉장고를 열어보니 우유가 없다. 철수가 우유를 사러 간다.

2. 영희가 냉장고를 열어보니 우유가 없다. 영희가 우유를 사러 간다.

3. 철수가 우유를 사온다.

4. 영희가 우유를 사온다.

5. 이제 우유가 너무 많다.



3. 해결책[편집]


다음은 의사 코드로 작성된 해결책이다.
Leave NoteA;
if (NoNoteB) {
    if (NoMilk) {
        Buy Milk;
    }
} else {
    while (NoteB) {
        DoNothing;
    }
    if (NoMilk) {
        Buy Milk;
    }
}
Remove NoteA;

우유를 사러 가는 프로세스와 함께 메모를 남기는 것/우유와 메모가 함께 없으면 우유를 사러 가는 것으로 방지할 수 있다. 그러나 골치 아프게도 여러 문제가 발생할 수 있다.

4. 관련 문서[편집]


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-04 14:34:03에 나무위키 Too much milk problem 문서에서 가져왔습니다.