Toon posts:

[vb] maken van server; do:loop, timer, ??

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik wil een server maken die regelmatig checkt of bepaalde processen al klaar zijn en kijkt of er nieuwe opdrachten in een database-tabel staan. Hoe kan ik dit echter het beste programmeren?

Ik kan natuurlijk bijvoorbeeld een timer maken die elke x seconden checkt of er iets gedaan moet worden.

Je kunt ook een do:loop lus maken met doevents er tussen.

Ik heb zelf liever een lus dan een sub die elk interval aangeroepen wordt, maar hoe zorg ik dat dit zo min mogelijk CPU gebruikt? Helpt het om bijvoorbeeld zo iets te doen:
tijd=timer+2
do: doevents : loop until timer > tijd

Hoe wordt dit over het algemeen gedaan, en wat is de beste methode hiervoor?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Met DoEvents() geeft je prog windows de tijd om te doen wat het moet doen. Dus dat is wel een goede manier voor een prog wat niet echt maalt om wanneer zijn eigen loop precies uitvoert.

Als je echt elke zoveel ms wilt kijken, zou ik een timer gebruiken, want je weet met DoEvents() niet wanneer windows klaar is met rotzooien en dus ook niet wanneer jouw prog weer tijd krijgt om te runnen.

Al schijnen VB timers ook niet bepaald nauwkeurig te zijn en als het systeem het druk heeft gaan ze zelfs gewoon helemaal niet af, of komen er naderhand een hele hoop events tegelijk binnen.

Als je iets nauwkeuriger wilt zijn kun je beter sleep() gebruiken denk ik. Al weet ik niet zeker hoe nauwkeurig die is.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
Ejo, thanx voor je reply.
Het komt niet zo nauw wanneer er gekeken wordt. Het programma moet zeg maar andere (soms zware) programma's starten, als daar genoeg CPU etc voor is. Dus als het systeem op dat moment bezig is, is het niet nodig om precies dan te checken. Ik zal eens naar sleep() kijken, hier heb ik zelf nog nooit mee gewerkt.

Verwijderd

Topicstarter
ik heb even naar sleep() gekeken, en dan reageert je programma idd helemaal nergens meer op. Ik moet nog even kijken hoe 't dan met CPU gebruik zit, maar dit lijkt me idd wel een erg goede methode.