2
에서 함수 호출 : 이제연기 나는 이런 식으로 할 수있는 3 가지있다 Qt는 4.8 (윈도우)에서 함수가 Qt를
void f()
{
//1. Do initialization
//2. Defer g() for next event (on the same thread) so that it may execute after f() is over
//3. Call h() which is time consuming
}
을, 나는 제 2 단계의 예를 구현하는 방법을 잘 모르겠습니다 f()
에 대한 호출이 완료된 후 동일한 스레드 (다른 스택에 있음)에서 g()
이 호출되도록하는 방법. QTimer
을 사용해 보았지만 짧은 시간에 10ms라고 말하면 f()
이 실행을 완료하지 않은 경우에도 g()
함수가 호출됩니다. 따라서 타이머를 사용하는 것이 신뢰할만한 아이디어가 아닌 것 같습니다. 제발 도와주세요, 어떤 아이디어를 많이 주시면 감사하겠습니다.
이것은 같은 스레드 (다른 스택에있는)에서의 의미는 무엇입니까? –
무엇이'f()'에서'g()'가 아닌 **'f()'후에'g()'**를 호출하지 못하게합니까? – vahancho
그래서 g()는 다음 번엔 메시지 루프 스택에서 호출하기를 원합니다. 즉, g()를 호출하는 대신에 메시지 루프에 이벤트를 게시하고 나중에 현재 이벤트 처리 완료되었습니다. 나는 그것이 물건을 분명히하기를 바란다. – Aarkan