Ik heb een programma in C# 2 gemaakt met verschillende threads, deze werkt prima onder Visual studio 2005. Echter als ik hem als stand alone run knalt hij in not responding nadat een thread is afgelopen. CPU gebruik blijft dan op nul staan.
De applicatie start een thread:
Deze kijkt om de 5 seconden in een db of er nog een record gewijzigd is (in een tabel met 5 records, waar tijdstempels staan van de laatste update)
de thread:
Hij komt niet in de catch statement, deze geeft een melding op het scherm (als test).
Als ik de prioriteit anders instel verandert er niets
Als ik de thread niet start werkt de applicatie.
Applicatie loopt (volgens mij) tot de sleep, dan is de cpu belasting 0 en dan hangt ie.
Wat kan er aan de hand zijn?
EDIT: sleep is het niet, als ik deze uitschakel loopt hij ook vast
EDIT2:
huidige thread hoogste prio gegeven werkte ook niet. Het lijkt erop dat de hoofdthread niet meer mee doet ofzo. Of moet ik iets van DoEvents(); gaan aanroepen oid?
De applicatie start een thread:
C#:
1
2
3
| WatchThread = new Thread(new ThreadStart(threadFunctionWatcher)); WatchThread.Priority = ThreadPriority.AboveNormal; WatchThread.Start(); |
Deze kijkt om de 5 seconden in een db of er nog een record gewijzigd is (in een tabel met 5 records, waar tijdstempels staan van de laatste update)
de thread:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| private void threadFunctionWatcher() { try { //lalala zooi code.... Thread.Sleep(sleeptime); } } catch (ThreadAbortException) { } catch (Exception eExc) { Model.fireLogEvent(this, new LogNotificationEventArgs(eExc.Message, "DBWatcher:threadFunctionWatcher", 0, true)); } } |
Hij komt niet in de catch statement, deze geeft een melding op het scherm (als test).
Als ik de prioriteit anders instel verandert er niets
Als ik de thread niet start werkt de applicatie.
Applicatie loopt (volgens mij) tot de sleep, dan is de cpu belasting 0 en dan hangt ie.
Wat kan er aan de hand zijn?
EDIT: sleep is het niet, als ik deze uitschakel loopt hij ook vast
EDIT2:
huidige thread hoogste prio gegeven werkte ook niet. Het lijkt erop dat de hoofdthread niet meer mee doet ofzo. Of moet ik iets van DoEvents(); gaan aanroepen oid?
[ Voor 12% gewijzigd door elgringo op 01-08-2007 15:36 ]
if broken it is, fix it you should