Sleep kleiner als 1 ms



  • Hallo!

    Gibt es unter Windows eine Möglichkeit, eine Verzögerung von weniger als einer Millisekunde einzubauen? Unter Unix stehen mir dafür nanosleep() oder usleep() zur Verfügung, nur bräuchte ich diese Funktionalität jetzt für das Visual Studio.
    Sleep() arbeitet ja leider nur im Millisekundenbereich. Gibt es da irgendwelche Alternativen, die ich bisher übersehen habe?



  • Also ich kenne keine Funktion, bei der man was kleineres als eine Millisekunde angeben kann. Vielleicht gibts aber eine WinAPI-Funktion (Sleep() ist ja auch schon eine WinAPI-Funktion), die das kann. Frag mal im WinAPI-Forum nach.



  • Ich kenne noch keine sinnvolle Verwendung dafür - wozu benötigt man eine derart geringe Zeitspanne?

    Naja versuch es mit QueryPerformance-Funktionen (siehe MSDN), da bekommst du kleinere Werte und kannst irgendwie auch einen Timer darauf hin zielen lassen. Musst du basteln.

    MfG SideWinder



  • Danke, ich werde mir die Funktion morgen mal ansehen.

    Ich brauche das für eine Anwendung, die Daten in einem bestimmten Zeitabstand versenden soll (per ATM/Glasfaser). Völlig ohne Sleep() gehen die Daten viel zu schnell raus, während sie bei einer Millisekunde schon zu langsam sind.



  • Harleen schrieb:

    Hallo!

    Gibt es unter Windows eine Möglichkeit, eine Verzögerung von weniger als einer Millisekunde einzubauen? Unter Unix stehen mir dafür nanosleep() oder usleep() zur Verfügung, nur bräuchte ich diese Funktionalität jetzt für das Visual Studio.
    Sleep() arbeitet ja leider nur im Millisekundenbereich. Gibt es da irgendwelche Alternativen, die ich bisher übersehen habe?

    ja.
    warten kann man auch mit MultiMediatimers und moderner mit HighResolutionTimers.
    und natürlich bei ner genauen uhr auch aktiv. als uhr QueryPerformanceCounter oder taktgenau mit rdtsc. naja, so genau, wie win eben umschaltet. auch beim aktiv-warten wird ja der eigene prozess hin und wieder weggedrückt. und mm-timers und die neuen garantieren auch kein exaktes einhalten. mußt wohl messen, bei welcer der alternativen du den besten durchsatz hast.


Anmelden zum Antworten