이 질문은 Breaking a condition variable deadlock에서옵니다. 여러 스레드가 조건 변수에서 대기 중일 수 있습니다. 특정 스레드에서만 스레드 1을 말하고 교착 상태 시나리오의 참가자 인 것처럼 스레드에게 신호를 보내야합니다. 내가 단편적인 실을 신호로 보낼 수있는 방법이 있나.조건 변수를 기다리는 많은 스레드 중 특정 스레드에게 신호 보내기
어떤 도움을
감사
편집 gratefull이 될 것이다 Nemo의 의견을 존중합니다. 나는 이것이 나쁜 생각이라는 것을 이해합니다. 그러나 할 수있는 방법이 있습니까
확률이 1에 가까울수록 설계에 결함이 있습니다. 거의 확실하게 "교착 상태를 감지하고 그것에 참여하고있는 스레드 중 하나를 죽이기"를 원하지는 않습니다. 교착 상태가 발생하지 않도록 기본 디자인을 수정하려고합니다. – Nemo
@ Nemo ... 나는 당신과 동의합니다. 그러나 우리의 경우에는 교착 상태가 발생할 확률이 매우 낮기 때문에 교착 상태를 감지하고 해결하는 대신 교착 상태를 감지하고 해결합니다. –
미안 @ 저글러,하지만 그 철학을 사지 않아. 이것은 소프트웨어입니다. "극히 드문 경우"와 같은 것은 없습니다. "절대"와 "버그"만 있습니다. 또는 요다가 말했듯이, 아무런 시도도 없습니다. – Nemo