Problems

Cooperating threads

it means: 디버깅이 불가능에 가깝다!!

Race condition 경쟁 상태

둘 이상의 입력 또는 조작의 타이밍이나 순서 등이 결과값에 영향을 줄 수 있는 상태를 말한다. 입력 변화의 타이밍이나 순서가 예상과 다르게 작동하면 정상적인 결과가 나오지 않게 될 위험이 있는데 이를 경쟁 위험이라고 한다

Race condition: Atomicity

Operation runs to completion without interruption

따라서, 공유 자원에 대한 synchronization이 필요하다.

Example: Too-Much-Milk Problem

image.png

solution: note