플로팅을위한 데이터 세트를 준비하는 pthread에서 작업을했습니다. 그런 다음이 데이터를 그래프와 같은 기본 창에 표시해야합니다. 어떻게 스레드에서 데이터 세트를 메인 윈도우에있는 렌더링 위젯으로 전송할 수 있습니까?멀티 스레딩을위한 슬롯 및 신호
슬롯과 신호를 사용합니다. 내 스레드가 슬롯에서 수신 할 수있는 신호보다 더 자주 신호를 내 보내면 어떻게됩니까?
문제는 하나의 스레드에서 다른 스레드로 데이터 집합을 전송할 때 QMap*
을 사용한다는 것입니다. 그리고 슬롯이 그 작업을 마쳤다 고 확신해야하고 작업 스레드에서이 맵을 업데이트 할 수 있습니다.
신호와 슬롯이있는 포인터를 사용해야하지 않습니다. 그냥 데이터의 현재 상태를 복사하십시오. – UmNyobe
QMap에서 암시 적 공유를 사용하기 때문에 데이터를 복사 할 필요가 없습니다. http://qt-project.org/doc/qt-4.8/implicit-sharing.html – TheDarkKnight
pthread를 사용하고 있으므로 수동으로 호출하고 있습니까? processEvents()는 주기적으로? 당신을 위해 이것을 호출하는 이벤트 루프가 없으므로 신호/슬롯이 그렇게하지 않고 pthread에서 나오지 않을 것입니다. – g19fanatic