
SyncMutex::lock 함수를 호출한 후, 다른 스레드에서 SyncMutex::lock 함수를 호출하는 경우 deadlock이 발생할 수 있습니다.
이러한 상황은 한 스레드가 자원을 점유하고 있으면서 다른 스레드가 자원을 점유하고 있는 스레드에 의해 블록킹되는 상황을 말합니다.
deadlock을 예방하거나 해결하는 방법은 다음과 같습니다.
1. 자원 점유 시간을 최소화 : 자원을 점유하는 시간을 최소화하여 다른 스레드가 블록킹되는 시간을 줄입니다.
2. 자원 점유 순서를 정의 : 자원 점유 순서를 정의하여 스레드가 자원을 점유하는 순서를 정의합니다.
3. 자원 점유를 피하기 위한 대안 : 자원 점유를 피하기 위한 대안을 고려하여 자원 점유를 피합니다.
SyncMutex::lock 함수가 호출되는 동안, 다른 스레드에서 SyncMutex::unlock 함수를 호출할 수 없습니다.
SyncMutex::unlock 함수는 SyncMutex::lock 함수가 호출된 후에만 호출할 수 있습니다.
만약 다른 스레드에서 SyncMutex::unlock 함수를 호출하면 DeadLock이 발생할 수 있습니다.
2025-03-09 07:12