deadlock
데드락(Deadlock)이란?
데드락(Deadlock)이란?멀티프로세스나 멀티스레드 환경에서 여러 실행 흐름이 자원을 점유한 채 서로가 가진 자원을 기다리며 영원히 진행되지 못하는 상태를 데드락(Deadlock)이라고 한다.예를 들어, 스레드 A가 자원 X를 점유한 상태에서 자원 Y를 기다리고, 스레드 B가 자원 Y를 점유한 상태에서 자원 X를 기다리는 상황이면 두 스레드는 서로를 기다리며 영원히 멈춰버리게 된다.데드락 예시 코드#include #include #include pthread_mutex_t lock1 = PTHREAD_MUTEX_INITIALIZER;pthread_mutex_t lock2 = PTHREAD_MUTEX_INITIALIZER;void* task1(void*) { pthread_mutex_lock(&lo..