경쟁상태, Race Condition
·
Computer Science
목차경쟁 상태란?경쟁 상태는 언제 발생하는가?경쟁 상태 해결 방법은?경쟁 상태란?공유 자원에 대해 여러 프로세스가 동시에 접근할 때, 결과값에 영향을 줄 수 있는 상태를 말한다.동시 접근 시 자료의 일관성을 해치는 결과가 나타난다.경쟁 상태는 언제 발생하는가?데이터에 대해서 작업을 수행하던 도중 다른 프로세스가 해당 데이터에 작업을 하게 되면, 데이터가 일관성있게 남아 있지 않게 된다.특정 데이터에 대한 작업을 원자성을 가지도록 하고, 자원에 하나의 프로세스/스레드만 접근할 수 있도록하여 해결한다.경쟁 상태 해결 방법은?공유 자원에 대해 한 번에 하나의 스레드/프로세스만 작업을 할 수 있도록 보장해야한다.락공유 자원에 접근하는 프로세스/스레드는 락을 먼저 획득해야하만 접근할 수 있다. 만약 락을 획득할 ..