Tags
Forum
Artikler
Brugere
Stil spørgsmål
1
online
Login
Husk mig
Timer (multithreading?)
Tags:
c++
Bruger #8874
@ 01.06.06 22:40
0
Hej. Jeg er ved at lave en simpel timerklasse i win32, men jeg er løbet ind i et problem.
Jeg har brug for noget præcision så jeg bruger Windows multimedia timer. Dette kræver dog at den funktion der kaldes ved timerens udløb er static. Dette har jeg forsøgt omgået, ligesom en del artikler på Internettet, ved at lade denne statiske funktion kalde den egentlige funktion. Problemet er at hvis en af disse funktioner ikke returnerer med det samme, måske fordi de venter på input, så blokerer den for alle andre timere!
Skal man selv lave noget multithreading, eller er der andet der kan gøres?
På forhånd tak.
Bruger #4996
@ 01.06.06 22:51
196
Jeg tvivler på at der er andet at gøre end at sikre dig at de kaldte funktioner returnerer "øjeblikkeligt", eller bruge multitasking.
Hvis du vælger multitasking har du et nyt sæt af problemer. Hvis dine timere kalder funktioner i andre tråde har du problemer med at de kaldte funktioner "overhaler" lokale funktioner eller bliver overhalet.
En anden løsning er at have det hele til at køre i tråde og lade hver tråd håndtere sine egne timere.
Men du vil altid have synkroniserings problemer mellem tråde.
Bruger #1445
@ 02.06.06 23:06
209
Hej Kristian !!!
Hvad er præcision i denne sammen hæng ?
Med Venlig Hilsen
Janus S. Andersen
Bruger #8874
@ 04.06.06 23:37
0
Med præcision mener jeg at den skal kaldes præcist
Da jeg bl.a. vil bruge den som "udløser" til en sekundviser, skal den helst aktiveres hvert sekund. Det duer ikke hvis den springer hvert 100 sekund over.
Bruger #1445
@ 08.06.06 21:37
209
Hej Kristian !!!
Du kan bruge SetTimer den har en maks. hastighed på 55 ms. Se evt.
http://www.codeproject.com/info/search.asp?cats=2&cats=3&searchkw=SetTimer&Submit1=Search&author=&sd=15+Nov+1999&ed=8+Jun+2006
Der er mange gode link til SetTimer.
Med Venlig Hilsen
Janus S. Andersen
Karma barometer (30 dage)
Modtaget
Givet
X
Favorit hos
Forum tråde
Artikler
Tilføj til dine favorit tags
Fjern fra dine favorit tags