Ich benutze mehrere Threads in meinem Programm. Ich möchte einen bestimmten Thread nach 500ms aufwachen. Wie kann ich das machen, ohne einen usleep (500) zu benutzen?Wie mache ich einen Thread wach und suspendiere für 500ms kontinuierlich in C
Antwort
Die Socket-API wie select kann als Timer verwendet werden.
struct timeval tv;
tv.tv_sec = 0;
tv.tv_usec = 500;
select(0, NULL, NULL, NULL, &tv);
Sie können diese Wahl benötigen.
Kannst du zeigen, wie du mit * select * "einen Thread aufwecken und für 500ms ununterbrochen aussetzen kannst" pro Frage? –
@ ringø, Es ist verwirrt, was "einen Faden machen" bedeutet. Vielleicht handelt es sich um Schlaf. Der Thread kann sich selbst mit Select schlafen. – seamaner
Entschuldigung für die Konfusion. – paulgked
clock_nanosleep ist die POSIX-kompatible Version für ein Intervall auf einer hochauflösenden Uhr zu schlafen, man-Seite zu sehen, zum Beispiel auf http://linux.die.net/man/2/clock_nanosleep für weitere Einzelheiten.
- 1. Wie pausiere/suspendiere ich einen Thread und fahre fort?
- 2. Wie suspendiere ich einen anderen Thread (nicht den aktuellen)?
- 3. Wie mache ich einen grundlegenden Thread in C++
- 4. Wie mache ich einen anderen Thread Schlaf in Java
- 5. Wie mache ich einen Thread mit eckigen js
- 6. iphone - wie mache ich einen Thread läuft schneller
- 7. Wie mache ich einen Thread Dump mit MONO?
- 8. Wie mache ich NHibernate-Repositories Thread-sicher
- 9. Wie suspendiere ich alle Threads, nachdem mein Programm abstürzt?
- 10. Wie halte ich meine Web Services wach?
- 11. Wie mache ich einen Piepton in Android?
- 12. Wie mache ich einen Slider wie Javascript?
- 13. Ich mache einen Screenshot mit C \ GTK
- 14. Wie mache ich einen Bildkonverter?
- 15. Wie kann ich einen schlafenden Thread in C# aufwecken?
- 16. Wie benenne ich einen Thread in Linux?
- 17. Wie mache ich einen Schlaf in Javascript?
- 18. Was hält C++ 11 für einen "Thread"?
- 19. Wie kann ich einen bestimmten Thread in Blackberry planen
- 20. Wie mache ich einen Zeilenumbruch in Python?
- 21. Wie mache ich vier Threads in einer Klasse C++
- 22. Wie starte ich einen UI-Thread in C#
- 23. Wie mache ich einen Link in Javascript
- 24. Wie mache ich Echtzeit-Programmierung in Rust?
- 25. Wie mache ich Java Thread Dump in Android?
- 26. Wie mache ich einen Datumsvergleich in Javascript?
- 27. Wie mache ich einen Fortschritt Button wie folgt für Android?
- 28. Einen BackgroundWorker kontinuierlich laufen lassen
- 29. Wie mache ich ein Quadrat in C++
- 30. Wie mache ich .exe in C++ duplizieren?
usleep ist der einzige vernünftige Weg, dies zu tun. Was ist dein Problem damit? –
Ok. Vielen Dank. Aber können wir das aufgrund der verstrichenen Systemzeit oder so machen? – paulgked
Danke für die Info. – paulgked