Re: Mikrosekundengenaues Sleep und Scheduler

Autor: Robert Schiele (rschiele_at_uni-mannheim.de)
Datum: 17. Jun 2003


On Tue, Jun 17, 2003 at 05:11:18PM +0200, Michael Lestinsky wrote:
> Am 17.06.'03 schrieb Michael Lestinsky:
> > t.tv_nsec = sleep_usec;
> ^^^^^^^^^^
> Hoppla. Mit einem Faktor 1000 dadran macht das schon etwas mehr Sinn.

Ja, deshalb der Name _nano_sleep. ;-)

> nanosleep() Should 0, did 12, off by: 12
> nanosleep() Should 1, did 1, off by: 0
> nanosleep() Should 10, did 10, off by: -0
> nanosleep() Should 100, did 100, off by: 0
> nanosleep() Should 1000, did 998, off by: -2
> nanosleep() Should 10000, did 18775, off by: 8775
> nanosleep() Should 100000, did 109978, off by: 9978
> nanosleep() Should 999999, did 1009941, off by: 9942

Tja, offenbar benutzt er ab einem Wert zwischen 1000 und 10000 den normalen
Timer. Wenn du es fuer die grossen Werte trotzdem noch genau haben willst,
musst du eben zuerst etwas weniger lange warten, dann die Uhr nochmals
vergleichen und nochmals kurz die verbleibende Zeit warten.

Robert

-- 
Robert Schiele			Tel.: +49-621-181-2517
Dipl.-Wirtsch.informatiker	mailto:rschiele_at_uni-mannheim.de



Dieses Archiv wurde generiert von hypermail 2.1.7 : 17. Jun 2003 CEST