Hallo,
Ich verwende BOOST::THREAD und habe Probleme beim Schließen meiner Anwendung.
Kurze Funktionsübersicht:
MainThread:
RenderThread:
Wie hier zu erkennen sein sollte, möchte ich den RenderThread schließen.
Anschließend soll das Programm sofort beendet werden.
Mein Problem besteht darin, dass beim Funktionsaufruf von RenderThread->join() das Programm zirka eine Sekunde braucht, um sich zu schließen.
Ist es ein Problem, wenn beim Schließen der MainThread nicht auf den RenderThread wartet?
Die Verzögerung tritt auch dann auf, wenn die Renderschleife leer ist.
mfg. Poseidon
Ich verwende BOOST::THREAD und habe Probleme beim Schließen meiner Anwendung.
Kurze Funktionsübersicht:
MainThread:
C++:
void StopRender()
{
running = false;
//RenderThread->join(); //verursacht ~1s Verzögerung
//delete RenderThread;
}
C++:
void RenderLoop()
{
while(running)
{
//...rendering, sleep (max. 16ms!)
}
cleanup();
}
Wie hier zu erkennen sein sollte, möchte ich den RenderThread schließen.
Anschließend soll das Programm sofort beendet werden.
Mein Problem besteht darin, dass beim Funktionsaufruf von RenderThread->join() das Programm zirka eine Sekunde braucht, um sich zu schließen.
Ist es ein Problem, wenn beim Schließen der MainThread nicht auf den RenderThread wartet?
Die Verzögerung tritt auch dann auf, wenn die Renderschleife leer ist.
mfg. Poseidon
Zuletzt bearbeitet von einem Moderator: