개발일기

레이스 컨디션, 교착상태, 데드 본문

오늘의 공부일기

레이스 컨디션, 교착상태, 데드

츄98 2023. 7. 5. 15:54

 

레이스 컨디션이란, 공유 자원에 대해 여러 개의 Thread 또는 Process가 동시에 접근하기 위해 경쟁하는 상태를 의미한다. 레이스 컨디션에 의해 자원의 동기화 문제, 교착 상태, 프로세스 충돌 등의 문제가 발생할 수 있다.

 

데드락(DeadLock) 또는 교착상태는, 한정된 자원을 여러 프로세스가 사용하고자 할 때 발생하는 상황으로, 프로세스가 자원을 얻기 위해 영구적으로 기다리는 상태이다.

 

레이스 컨디션을 해결하기 위한 방법으로는, 대표적으로 세마포어, 락 등이 있다.

 

https://velog.io/@squarebird/%EB%A0%88%EC%9D%B4%EC%8A%A4-%EC%BB%A8%EB%94%94%EC%85%98

 

레이스 컨디션

레이스 컨디션 Java에서 애플리케이션 개발을 진행하다 보면 Multi Thread를 활용한 프로그래밍을 경험하게 된다. 이로인해 Single Thread로 개발을 진행할 경우에는 발생하지 않았던 몇몇 문제점들이

velog.io

세마포어 (tistory.com)

 

세마포어

세마포어(Semaphore)는 다중 프로그래밍 환경에서 프로세스나 스레드 간의 동기화 문제를 해결하기 위해 사용하는 중요한 개념입니다. 세마포어는 주로 임계 구역(critical section) 문제를 해결하거나

eunsun-zizone-zzang.tistory.com

기억의 파편들 :: 스핀락, 뮤텍스, 세마포어 (tistory.com)

 

스핀락, 뮤텍스, 세마포어

교착상태공유 자원을 두고 서로 다른 접근자가 경쟁하는 과정, 서로 자원을 소유하려다 보니 누구도 소유할 수 없는 상황을 교착상태라고 한다. 교착 상태가 되기 위한 필수 4가지 조건. 1개라

pulpul8282.tistory.com