Kann std :: this_thread :: sleep_for () unechte Wakeups haben?

8

Hinweis: Dies ist keine Frage zu std::condition_variable::wait_for() . Ich weiß, dass das spurlos aufwachen kann.

Das Verhalten meines Programms schlägt vor, dass die Antwort auf diese Frage Ja ist, aber die STL-Dokumentation ist für den Fall der Bedingung_Variable ziemlich klar. Zumindest bei cppreference.com scheint die richtige Antwort für this_thread Nein zu sein.

Compiler ist gcc 4.8.1, falls dies ein Defekt ist.

    
Andrew Lazarus 29.05.2015, 20:29
quelle

1 Antwort

6

Die relevanten Abschnitte des C ++ Standards (Absätze [thread.thread.this] / 7-9) erwähnen nichts von falschen Aufweckvorgängen für std::this_thread::sleep_for , anders als z.B. für std::condition_variable::wait_for .

%Vor%      

7 Effekte : Blockiert den aufrufenden Thread für das relative Zeitlimit (30.2.4), das von rel_time angegeben wurde.

     

8 Synchronisation : Keine.

     

9 Wirf : Timeout-bezogene Ausnahmen (30.2.4).

Dies bedeutet, dass das Verhalten, das Sie beobachten, nicht konform ist.

    
Andy Prowl 29.05.2015, 21:04
quelle

Tags und Links