교착 상태(Deadlock)와 스레드 안전(Thread Safe)
·
CS지식/운영체제
멀티스레드 환경에서는 여러 프로세스나 스레드가 동시에 실행되면서 자원을 공유하는 일이 많습니다. 하지만 잘못된 동기화 기법이나 자원 관리로 인해 교착 상태(Deadlock)가 발생하거나, 스레드 안전(Thread Safe)이 보장되지 않는 문제가 생길 수 있습니다. 이 글에서는 교착 상태의 개념과 발생 조건, 해결 방법을 알아보고, 스레드 안전성을 유지하는 방법을 정리해 보겠습니다.교착 상태(Deadlock)란?교착 상태란, 둘 이상의 프로세스가 서로의 자원을 기다리며 무한히 멈춰 있는 상태를 의미합니다.즉, 프로세스 A는 프로세스 B가 가진 자원을 기다리고, 프로세스 B는 다시 프로세스 A가 가진 자원을 기다리는 상황이 발생하여 더 이상 진행할 수 없는 상태가 되는 것입니다.✅ 교착 상태 발생 조건 (..