2014-04-30 2 views
0

시뮬레이션과 시각화가 모두 중요한 애플리케이션이 있습니다. 현재 시각화 및 시뮬레이션은 동일한 루프 (즉, QT 짝수 루프)에서 수행됩니다. 시뮬레이션을위한 별도의 루프를 만들고 싶습니다. Singal/Slot 등의 기능에 영향을 미치지 않고 다른 루프를 만드는 가장 좋은 방법은 무엇입니까?맞춤 이벤트 루프/시뮬레이션 루프

답변

3

가장 간단한 대답은 새로운 QThread가 스레드 로컬 이벤트 루프를 제공하므로 시뮬레이션을 새로운 QThread로 옮길 수 있다는 것입니다 (Per-thread event loop 참조). 그러나 시뮬레이션에 대한 자세한 내용이 없으면 사용자의 요구를 충족 할 것이라고 가정 할 수 있습니다. 여러 이벤트에 아무 소용이 없다

1

는 단일 스레드 응용 프로그램에서 반복합니다. 여러 스레드가있는 경우 그 스레드에서 이벤트를 사용하려면

후, 스레드는 그들에서 실행되는 이벤트 루프가 있어야합니다.

따라서 문제는 방법으로, 자신을 해결했다. 별도의 시뮬레이션 스레드를 사용하고 시뮬레이션 QObject를 시뮬레이션 스레드로 이동하십시오. QThread는 사생아이며 항상 안전하게 파괴 할 수 없기 때문에 적절한 C++ 클래스 아니라고

참고. a safe replacement을 사용하십시오.