2016-09-30 7 views
1

내 문제의 정확한 solutin을 찾을 수 없습니다. 기본 클래스 "main"에 6 개의 "psu"인스턴스 인스턴스가 있습니다. 각 "psu"는 추가 클래스 인 "sender"마녀가 udp를 통해 메시지를 보내는 인스턴스를 가지고 있습니다. 각 인스턴스는 메시지를 보내기 위해 추가 포트를 사용합니다. 이제는 "main"클래스에서 "보낸 사람"의 인스턴스를 만들고이를 새 스레드에 놓기 위해 moveToThread를 사용했습니다. 이제 모든 6 개의 "psu 인스턴스"는 udp를 통해 메시지를 보내려고 할 때 신호를 내야합니다. 짧은 시간에 메시지를 보내면 신호가 대기열에 들어 오나요? 아니면 내가 전송 한 데이터가 조작 될 것입니까? ? 신호QT 스레딩, 신호 순서

난 당신이 무슨 뜻인지 이해하고 나에게 정확한 답을 줄 수 있기를 바랍니다

내가 뮤텍스 가지가 필요하십니까

짧은 통지 :.? 내가 자기 정의 구조체 마녀가 패킷을 나타냅니다 사용 보내드립니다.

감사합니다. MAX

+0

나는 이해하면 바로 [이] (http://stackoverflow.com/questions/1246933/order-of-slots-called-on-qobject) 문제는 그것이 내가 생각 정확히 같은 일이 아니에요 당신에게 – Mikhail

+0

을 도움이 될 것입니다 ... 나는 많은 인스턴스에서 다른 스레드의 한 슬롯으로 시그널을 보낸다. 하나의 인스턴스에서 같은 인스턴스로 시그널을 보내지 않는다 ... ot는 이것을 같은 방식으로 처리한다? – MaxSeib

답변

1

여러 개의 슬롯에 Qt :: DirectConnection이 있으면 연결 된 순서대로 호출됩니다. 여러 슬롯에 Qt :: QueueConnection이 있으면 연결 된 순서대로 호출됩니다. 혼합하고 일치 시키면 모든 Qt :: DirectionConnection 슬롯이 순서대로 호출되고, 컨트롤이 이벤트 루프로 돌아 오면 모든 Qt :: QueuedConnection 슬롯이 순서대로 호출됩니다. Credit