내 코드에서 작업자 스레드는 신호를 내 보냅니다. Qt Docs에서Qt 블로킹 연결 교착 상태
:
Qt는 :: BlockingQueuedConnection - QueuedConnection과 동일 슬롯 반환 될 때까지 현재 스레드 블록을 제외하고. 이 연결 유형은 송신자와 수신자가 다른 스레드에있는 경우에만 사용해야합니다. 참고 :이 규칙을 위반하면 응용 프로그램이 교착 상태가 될 수 있습니다.
방출기와 수신자가 다른 스레드에있는 경우를 판별하는 방법. Qt::BlockingQueuedConnection
플래그를 추가 할 때까지 내 응용 프로그램에 문제가 있었기 때문에 그것에 대한 모호한 아이디어가 있습니다. 그러나 내 응용 프로그램이 닫히고 싶지 않다는 것을 알고 있습니다. 그것은 작동 스레드와 붙어있다.
UPDATE :
좀 더 문제를 조사. 스레드는 방출 된 신호에 의해 차단됩니다. 왜냐하면 응용 프로그램을 닫을 때 MainWindow의 슬롯이 파괴되어 신호를 내보내므로이 교착 상태가 발생하기 때문입니다.
이 문제를 해결하는 방법은 무엇입니까?