2013-04-09 4 views
1

: 별도의 컴퓨터 프로세스 또는 실행 스레드 일부 공유 상태에 따라 달라 때이해 경쟁 조건 위키 피 디아에서

경쟁 조건은 소프트웨어에서 발생한다.

올바르게 이해한다면 공유 리소스가 보호되어 있어도 다음 조건도 경쟁 조건입니까?

int x; // global 
Thread1: 

Lock(m); 
x=1; 
Unlock(m) 

Thread2: 

Lock(m); 
x=2; 
Unlock(m); 

명백히 출력은 실행 순서에 따라 다릅니다.

+1

일반적으로 문제가있을 때만 경주를 부릅니다. 이것은 응용 프로그램과 필요한 동작에 따라 다릅니다. – Erik

답변

0

귀하의 이해가 정확합니다. 이것은 경쟁 조건이지만 데이터 경쟁이 아닙니다. 그 차이는 미묘합니다. 나는 그것을 설명하려고 노력했다 here.

관련 문제