Är det möjligt att koda en timer i en klass som man startar i en tråd? Enklast är nog att du skapar en helt ny tråd, med just en while-loop, men.. Inte låta den snurra fritt, utan istället anropar du thread.sleep() i slutet av varje iteration, alternativt om du behöver möjligheten att väcka upp den när den sover: använd t.ex. ett autoresetevent eller någonting liknande, sedan .WaitOne(2500) för 2500 ms sovande, dock med möjligheten att väcka upp i förtid.Koda en timer
Koden nedan skulle jag vilja ha snurrande. Men den slutar efter några sekunder.
<code>
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim autoEvent As New AutoResetEvent(False)
Dim timerDelegate As TimerCallback = _
AddressOf myjobb
Dim stateTimer As Timer = _
New Timer(timerDelegate, autoEvent, 0, 2500)
End Sub
Dim olle As String
Private Sub myjobb(ByVal stateInfo As Object)
olle = Now
End Sub
</code>Sv:Koda en timer
Funktonen jag är ute efter är som en do while loop som inte behöver snurra runt på tomgång. Likt en timer som du har i vertygsboxen men som man kan använda ien klass som man trar igång i en tråd.Sv: Koda en timer
(Att ligga och snurra är i princip vad en timer gör ändå.. Det jag funderar på dock är hurvida en "riktig" timer återanvänder trådar eller inte, och det kan jag inte svara på..)