webForumDet fria alternativet

timer tjänst

.NET

3 svar · 289 visningar · startad av neversleep

Medlem sedan okt. 2001230 inlägg
Frågan#1

Tjena

Jag har en tjänst som kör ett event var 6:e minut vid timer elapsed, sker genom att jag angett antal ticks till timer.

Hur gör jag eg om jag vill att tjänsten ska göra ytterligare en grej, fast vid en specifik tidpunkt? Behöver jag ytterligare en timer, som kollar systemklockan var 1000:e millisekund? Betyder det att min tjänst snor mkt resurser? Finns det bättre sätt?

Medlem sedan maj 20012 812 inlägg
#2

Finns det bättre sätt?

Svårt att säga, är din nya tjänst beroende av den gammla, eller kan du skriva ett nytt program för att lösa uppgiften, kan du det så finns ju schemaläggaren inbyggt i windows som löser uppgiften till dig.

Är du beroende av din gammla tjänst så blir det till att lägga in en ny timer och kolla varje sekund (om du skall kunna ställa in klockslag på sekunden) varje minut( om du skall kunna ställa in klockslaget på minuten) osv osv...

Nope en timer som inte gör något tar inte speciellt mycket resurser....

- M

Medlem sedan okt. 2001230 inlägg
#3

tack för ditt svar

löste det genom att i uppstarten av tjänsten räkna fram antal millisek till tidpunkten inträffar och därefter initera timern till det

använder system.timers.timer och eventet timerelapsed.

Medlem sedan dec. 2005664 inlägg
#4

Kan köra detta annars:

while(true){tread.sleep(längd som säger hur länge tråden ska vara avaktiverad
//gör det du vill göra}
260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)