Hallo,
ich möchte einfach eine kurze Antwort haben. Ich hab schon danach gesucht, aber alles scheint irgendwie wie ein Workaround. Ich hab:
void userEingabe() {
while (fenster Sollte Nicht Schließen()) {
int eingabe;
std::cout << "Gib was ein: ";
std::cin >> eingabe;
}
}
std::thread userEingabeThread(userEingabe, (((void))) );
userEingabeThread möchte ich jetzt stoppen oder killen, wenn Fenster geschlossen wurde. WIE?
(Es ist teilweise Pseudocode, aber ihr wisst bestimmt, was ich meinte).
Grüße
Alles könnte sooo einfach sein:
second = std::thread(fun1, window); // hier tue ich ein paar Dinge
third = std::thread(fun2, window); // hier auch
// glfw main loop ...
while (!glfwWindowShouldClose(window)) {
// hier ganz viele Dinge und so
}
std::terminate();
// aufräumen ...
release();
glfwTerminate();
std::cout << "alles ok" << std::endl; // wird nicht ausgegeben werden, wenn Fenster durch User geschlossen
return 0;
Durch terminate “werden auch die Threads angesprochen” … es wird aber nicht mehr aufgeräumt…
Grüße
(Edit: Ja, C++11, vielleicht “spinne” ich auch).