프로세스 동기화
·
CS지식/운영체제
경쟁 상태(Race Condition)경쟁 상태(Race Condition)란 여러 프로세스 또는 스레드가 하나의 공유 자원에 접근할 때, 접근 순서에 따라 결과 값이 달라지는 현상을 의미합니다.멀티스레딩 환경에서 동기화가 적절히 이루어지지 않으면, 여러 스레드가 동시에 공유 자원을 수정하려고 시도하면서 의도치 않은 결과가 발생할 수 있습니다. 이는 데이터의 불일치와 예측 불가능한 동작을 초래할 수 있어 프로그램의 안정성을 해칠 수 있습니다.예제: 경쟁 상태 발생 코드#include #include int counter = 0;void increment() { for (int i = 0; i 위 코드에서는 두 개의 스레드가 counter 변수를 증가시키지만, 동기화가 없기 때문에 counter 값이..