sleep(), sleep geeft de huidige timeslice op en geeft aan dat het proces moet worden geblocked voor het aantal aangegeven milliseconden...
delay() bestaat idd voor zover ik weet niet in C++, maar er bestaan wel andere dingen
#include <time.h>
...
time_t t1 = time(NULL);
while (time(NULL) - t1 < 10) {
sleep(0); //Give up the current timeslice so
//that other programs can do their job
}
ik weet niet zeker of sleep standaard C++ is, of dat er misschien ene variant van is, dat zou je evt. even moeten nakijken als je zeker wil weten dat het 100% portable is.
overigens zou je de waarde van de sleep attribuut wel wat kunnen verhogen als de resolutie en de response time niet zo belangrijk zijn, door dit op 1 of 10 ofsow te zetten kun je waarschijnlijk al een hele hoge besparing maken in CPU gebruik.
Je zou ook clock() kunnen gebruiken ipv time() voor een hogere resolutie, maar dan moet je wel de snelheid van de clock cycles weten, ik weet niet of W98 die op de standaard 18.2 laat of veranderd, en overigens zou dit op andere platformen weer anders kunnen zijn.
Als je win32 wil gebruiken dan kun je ook QueryPerformanceCount() en QueryPerformanceFrequency() (of iets in die geest, kweet het niet meer 100% zeker uit m'n hoofd, ook is even de vraag of deze ondersteund worden in w98) gebruiken, deze geven allebij een 64 bit integer met respectievelijk de teller waarde en de teller frequentie, deze teller is hardwarematig en is echt belachelijk snel, dus als je echt een hoge resolutie nodig hebt dan zou je deze moeten gebruiken, het is alleen wel af te vragen of dit nog echt erg veel zin heeft in deze situatie mbt tot de response tijd van de Windows task scheduler... Die wordt waarschijnlijk toch door de timertick bepaald en dan zou je net zo goed clock() kunnen gebruiken...
Maargoed, ik hoop dat dit je helpt, succes ermee iig.
---------------------------------------------------------
time_t time ( time_t * timer );
Get current time.
Get the number of seconds elapsed since 00:00 hours, Jan 1, 1970 UTC from the system clock.
Parameters.
timer
Location where to store the retrieved value. If this is NULL the value is not stored. But it is still returned by the function.
time_t is generally defined by default to long.
Return Value.
Elapsed time in seconds, as described.