Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
.Net Framework 1.1 e multithreading
mercoledì 19 dicembre 2007 - 14.29
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
softwork
Profilo
| Newbie
2
messaggi | Data Invio:
mer 19 dic 2007 - 14:29
Framework .Net 1.1 applicazione multithreading.
Ho un'applicazione con due thread che girano in due while e due procedure thread distinte.
Ognuna delle due procedure è racchiusa in try {} catch{} ed è qui che viene intercettato l'errore.
Questi due thread vanno avanti per 4-5 giorni (24 ore su 24) dopo di chè si fermano entrambi e vanno in stato stopped a causa dell'eccezzione descritta di seguito. Non si fermano nel medesimo istante. l'errore è il seguente:
L'elemento è già stato aggiunto. Chiave nel dizionario: "-1". Chiave aggiunta: "-1"
Si fermano perchè è avvenuta appunto questa eccezzione.
Che cosa significa?
non so nemmeno da che cosa derivi questo errore, sembra non avere a che fare con i thread.
Nei due thread che girano io butto periodicamente un log su disco e poi accedo a dei dispositivi tramite libreria per .Net 1.1 Tuttavia queste chiamate sono all'interno di altre try {} catch{} che non vengono attivate. Quindi il problema non sta su queste chiamate.
C'è un variabile (un classe) condivisa gestita con un mutex tra i idue thread.
Qualcuno sa darnmi una dritta?
grazie mille a chiunque mi dia informazioni
ciao
MarKonE
Profilo
| Guru
2.074
messaggi | Data Invio:
mer 19 dic 2007 - 18:25
Ciao, non credo che ti saprò essere d'aiuto personalmente ma sicuramente sarebbe utile vedere il codice incriminato.
Puoi postarne almeno la parte principale ?
Ciao!
My Blog...
http://blogs.dotnethell.it/Mark/
softwork
Profilo
| Newbie
2
messaggi | Data Invio:
gio 20 dic 2007 - 08:02
507_Test_Locale_xNewsgroup.zip
ciao,
grazie per la risposta.
Ti inserisco tutto il sorgente in vs2003.
Purtroppo, questo sorgente dialoga con dei dispositivi e quindi quelli parti le dovrò commentare. Resteranno i due thread che dovrebbero dare l'errore però il programma gira senza problemi per 4-5 giorni. Quello che vorrei capire e che significa quell'errore che apparentemente non ha nulla a che vedere con quello che faccio nel programma.
Funzionamento:
l'auto arriva in posizione sensore, la scheda di IO che ho disabilitato la rileva (ThreadIOProc), segnala al thread lettore di badge tramite la SetAutoPresente() che l'auto è presente.
Il lettore di badge (ThreadReaderProc) inzia la lattura che ho simulato : ritorna sempre 1.
Poi setta badgeOk() e AutoNonPresente().
Tutto questo va ma per un pò poi si blocca.
Nell'immediato farò in modo che il PC si riavvii ogni notte. Datao che ci sono ti chiedo anche se hai un software che permette la chiusura di un programma a tempo in modo da riavvire solo questo software ogni tot tempo
Grazie per la disponibilità
Ti allego sorgente che simula
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !