A,B라는 2개의 스레드가 있고
A 스레드에서 pthread_mutex_lock(), pthread_mutex_unlock()을 호출하며
루프를 돌고 있습니다. 루프는 unlock호출 후 바로 lock을 호출합니다.
문제는 다음과 같습니다.
A 스레드에서 lock이 호출 되어 작업이 이루지는데
B 스레드에서도 lock을 시도하여 B 스레드는 멈추어 있는 상황입니다.
A 스레드가 unlock을 호출하면 바로 B 스레드가 작업을 시작할 줄 알았는데
계속 A 스레드에서만 작업이 이루어지네요.
그래서 미봉책으로 A 스레드의 unlock 이후 sleep(0)으로 해결했는데....
왜 B 스레드에서 lock이 걸려 있는데 A 스레드에서만 작업이 이루어질까요?
또 sleep()말고 좋은 해결책은 없을까요?
Jn This specifies the Julian day with n between 1 and 365. February 29 is never counted even in
leap years.
n This specifies the Julian day with n between 1 and 365.