In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.
Zaphod in The Hitchhikers Guide To The Galaxy
Mannen komen van Mars Tweakers, vrouwen van Venus Bokt
Zit standaard in windows98SE, win2k en winXP.
Bij XP staat het onder: Start --> All Programs --> Accesoirres - System Tools
I wish there was a button on my monitor to turn up the intelligence. There's a button called 'brightness', but it doesn't work...
OS=XP, maar maakt niet veel uit voor methode, dacht ik
In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.
Zaphod in The Hitchhikers Guide To The Galaxy
Verwijderd
[edit]
of, misschien nog beter:
data in array(oid) zetten, sorteren op tijd
kijken welke actie als volgende uitgevoerd moet worden.
zolang wachten totdat die is, dmv. Sleep()
acie uitvoeren
kijken hoelang tot de volgende actie, Sleep().
enz.
.edit: titel wat aangepast
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.
Zaphod in The Hitchhikers Guide To The Galaxy
Checken wat het verschil is tussen tijd Nu en tijd eerste event,
sleep() voor die periode,
execute actie,
remove uit priority queue,
if (!queue.empty() ) goto begin.
eigenlijk net zoals .oisyn, maar priority queues kun je snel nieuwe elementen aan toevoegen zonder alles telkens opnieuw te sorteren.
Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein
Misschien is het ook handig om elke keer als je programma wakker wordt even te checken of het lijstje met taken nog wel actueel is. Je kunt dan tenminste ook de scheduling 'live' aanpassen.Op woensdag 12 juni 2002 23:06 schreef .oisyn het volgende:
je kunt natuurlijk je taken sorteren, en dan een timer zetten zodat je programma 'wakker' wordt als de eerste taak aan de beurt is. Dan zet je de timer opnieuw met de tijd hoe lang het nog duurt voordat de volgende taak aan de beurt is, enz.
With the light in our eyes, it's hard to see.
Dat kun je beter doen op het moment dat er een nieuwe taak ingevoegd wordt. Als de eerst volgende taak morgen is, en je voegt 1 toe voor over een half uurtje wil je de huidige sleep natuurlijk ook wel ff wat eerder afbrekenOp donderdag 13 juni 2002 11:35 schreef Bobco het volgende:
[..]
Misschien is het ook handig om elke keer als je programma wakker wordt even te checken of het lijstje met taken nog wel actueel is. Je kunt dan tenminste ook de scheduling 'live' aanpassen.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
je hebt gelijk, maar dan moet je dus wel wat actiever gaan letten op de wijzigingen die in de scheduling data worden aangebracht. Als je dat soort dingen echt netjes wilt doen zul je toch met een hoge frequentie de data moeten lezen. Oplossingen met data in een file zijn natuurlijk simpel te doen met timestamps, met een database wordt het alweer iets lastiger...Op donderdag 13 juni 2002 12:05 schreef Janoz het volgende:
Dat kun je beter doen op het moment dat er een nieuwe taak ingevoegd wordt. Als de eerst volgende taak morgen is, en je voegt 1 toe voor over een half uurtje wil je de huidige sleep natuurlijk ook wel ff wat eerder afbreken
With the light in our eyes, it's hard to see.
Wijzigingen zijn enkel toevoegen of verwijderen van acties, dus zo'n probleem is het niet om op die wijzigingen te letten imhoOp donderdag 13 juni 2002 12:27 schreef Bobco het volgende:
[..]
je hebt gelijk, maar dan moet je dus wel wat actiever gaan letten op de wijzigingen die in de scheduling data worden aangebracht. Als je dat soort dingen echt netjes wilt doen zul je toch met een hoge frequentie de data moeten lezen. Oplossingen met data in een file zijn natuurlijk simpel te doen met timestamps, met een database wordt het alweer iets lastiger...
In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.
Zaphod in The Hitchhikers Guide To The Galaxy
Dat is toch wat ik zeg? Het punt is dat als je een structuur in je applicatie opbouwt die gebaseerd is op data in een file, je die structuur in de applicatie elke keer moet controleren/updaten als er een wijziging is in de data in de file.Op donderdag 13 juni 2002 12:55 schreef -Klimaks- het volgende:
Wijzigingen zijn enkel toevoegen of verwijderen van acties, dus zo'n probleem is het niet om op die wijzigingen te letten imho
Simpel voorbeeldje:
14:00 Taak A
15:00 Taak B
16:00 Taak C
Je start je applicatie om 13:00 en die leest netjes de gegevens in en gaat vervolgens de file in de gaten houden door om de zoveel tijd wakker te worden en de timestamp van de file te vergelijken met de timestamp die er op stond toen de laatste keer de file gelezen werd.
Vervolgens pas ik de file om 13:15 aan zodat die er als volgt uit komt te zien:
12:00 Taak A
15:00 Taak C
16:00 Taak B
Alle taken staan er nog gewoon in, alleen is de volgorde van uitvoeren behoorlijk veranderd en moet je dus de structuur in je applicatie weer opnieuw opbouwen. Het is dus inderdaad niet zo moeilijk, maar je moet het wel consequent doen...
With the light in our eyes, it's hard to see.
Zorg ervoor dat bij het starten de file wordt ingelezen en bij veranderingen het geheugen en het bestand worden aangepoast, en je hebt als het goed is geen problemen.
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'