[[분류:컴퓨터 공학]] [include(틀:토론 합의, 토론주소1=ABillowyAndEtherealLumber, 합의사항1=문서 존치)] [목차] == 개요 == {{{+1 Too much milk problem}}} 운영체제가 오랫동안 작업할 경우 발생할 수 있는 문제. 다중CPU 관련. 동시에 발생한 작업 사이에 동기화가 제대로 안 됐을 경우 어떤 문제가 발생하는지 보여준다. == 설명 == >1. 철수가 냉장고를 열어보니 우유가 없다. 철수가 우유를 사러 간다. >2. 영희가 냉장고를 열어보니 우유가 없다. 영희가 우유를 사러 간다. >3. 철수가 우유를 사온다. >4. 영희가 우유를 사온다. >5. 이제 우유가 너무 많다. == 해결책 == 다음은 [[의사 코드]]로 작성된 해결책이다. {{{#!syntax java Leave NoteA; if (NoNoteB) { if (NoMilk) { Buy Milk; } } else { while (NoteB) { DoNothing; } if (NoMilk) { Buy Milk; } } Remove NoteA; }}} 우유를 사러 가는 프로세스와 함께 메모를 남기는 것/우유와 메모가 함께 없으면 우유를 사러 가는 것으로 방지할 수 있다. 그러나 골치 아프게도 여러 문제가 발생할 수 있다. == 관련 문서 == * [[식사하는 철학자 문제]]