C++, dass ein boost thread warten Sie 1 Sekunde

Habe ich einen boost-thread mit:
boost::thread gew(&connectionThread); wo connectionThread ist eine einfache void-Funktion. Dies funktioniert gut, jedoch, wenn ich versuche, es zu machen, warten Sie einige Sekunden, zum Beispiel mit:

boost::xtime xt;

boost::xtime_get(&xt, boost::TIME_UTC);

xt.sec += 1;

boost::thread::sleep(xt); //Sleep for 1 second

Das Programm stürzt bei der xtime_get Linie. Sogar, wenn Sie manuell versuchen, xt.sec funktioniert es nicht. Ich habe versucht, mehrere andere Methoden, aber ich kann nicht scheinen, damit es funktioniert. Gibt es etwas, was ich falsch mache? Ist es ein einfacher Weg, um mein Ziel erreichen?

  • Mehr information erforderlich - dieses stürzt auf die xtime_get Linie? Wenn ja, wie wird es Abstürzen, wenn Sie manuell die xt (oder es gerade nicht so Verhalten, wie Sie wollen)?
  • In welcher Weise wird es nicht funktionieren, wenn Sie versuchen, xt.Sek manuell? xt.sec = 1 ist wahrscheinlich eine unglaublich kurze Zeit, wie ich denke, dass die sec ist zumindest in Millisekunden. Wenn, so würden Sie schlafen, für eine Millisekunde.
  • boost.org/doc/libs/1_38_0/doc/html/thread/... es sieht so aus, dass die aktuelle version der Bibliothek verwendet nun die Komponenten, die von boost::date_time geben Sie die Länge.
  • hoffe Sie sind nicht zu vergessen, gehören header-Datei <boost/thread/xtime.hpp> wie mich
InformationsquelleAutor | 2009-04-22
Schreibe einen Kommentar