[C++]Sleep kleiner als ms?

Irgendjemand_1

Erfahrenes Mitglied
Tach ich bins wieder.

Kann man bei Sleep irgendwie, Mikrosekunden angeben, oder zumindest dieselbe Funktionsweise erzielen?

Ihr fragt euch sicher, wofür ich das brauche ... Ich habe eine Endlosschleife und bei dieser ist 1 ms irgendwie viel zu langsam - merkwürdig langsam (200 Durchläufe pro Sekunde ca.)) und ohne Sleep sinds ca. 4000 Durchläufe pro Sekunde, was wieder um einiges zu schnell ist.

Für meine Zwecke wäre so ein Mittelding recht praktisch, dafür bräuchte ich aber etwas kleineres als Millisekunden.
Hat jemand einen Rat? ;)
 
Einfachste Lösung: Mach doch dann noch eine Variable rein die du bei jeden Durchlauf incrementierst und die du dann bei >= 10 wieder auf 0 setzt wird und ein Sleep(1) auslöst. Also das du alle 10 Durchläufe ein Sleep(1) aufrufst. ;-)

Gruß Byteblaster
 
ich hab damals unter unix mit Sleep(0) gearbeitet, so wurde nur der Prozessor abgegeben und der Thread sofort wieder in die Warteschlange für den Prozessor eingereiht.
bin mir aber nicht so sicher ob das unter Windows genauso geht.
 
In PHP gibt es den Befehl time_nanosleep(), wo man die Schlafdauer in Nanosekunden angeben kann.
Da PHP in C geschrieben ist sollte man meinen, dass es auch in C einen entsprechenden Befehl gibt.
Ich werd mal in den Quellcode von PHP schauen und gucken ob ich dort was finde.

So wie es aussieht sollte die entsprechende C-Funktion schlichtweg nanosleep() heissen.
 
Nanosekunden sogar :D
Am besten noch Femtosekunden ... ;) Mikrosekunden hätten ja gereicht, aber im Prinzip ist es ja egal.
Ich probiers mal aus

Edit:
implicit declaration of function `int Nanosleep(...)'
kleingeschrieben geht auch nicht.
Muss man dafür was includieren?
 
Zuletzt bearbeitet:
Also in meiner time.h ist da nichts mit nanosleep oder etwas in der Art. Ich habe auch noch nie davon gehört.
Habe mich mal ein wenig umgesehen. Es sieht so aus, als ob nanosleep nur im POSIX-Standard definiert ist, nicht aber im ANSI-C.
 
moin


Hab auch noch nie was von nanosleep gehört, mal ganz davon abgesehen das Windows das wohl garnicht bringen dürfte.
Aber zu dem Thema gab es hier schon einen ausführlichen Thread!


mfg
umbrasaxum
 
Tobias K. hat gesagt.:
moin


Hab auch noch nie was von nanosleep gehört, mal ganz davon abgesehen das Windows das wohl garnicht bringen dürfte.
Aber zu dem Thema gab es hier schon einen ausführlichen Thread!


mfg
umbrasaxum
Gesucht hab ich: Wohl nicht gründlich genug, wie es scheint.

Weißt du vielleicht noch welchen Thread?
 

Neue Beiträge

Zurück