Sto usando .NET 3.5 e sto cercando di avvolgere la mia mente attorno a un problema (non essendo un esperto di threading supremo sopportare con me).C# Comunicazione tra thread
Ho un servizio Windows che ha un processo molto intenso che è sempre in esecuzione, ho messo questo processo su un thread separato in modo che il thread principale del mio servizio sia in grado di gestire le operazioni operative, ovvero cicli di controllo del servizio, gestione della configurazione modifiche, ecc, ecc
sto iniziando il filo attraverso il tipico ThreadStart a un metodo che prende il processo fuori - lo chiamano workerthread.
Su questo workthread invio i dati a un altro server, come previsto, il server si riavvia di tanto in tanto e la connessione è persa e devo ristabilire la connessione (la notifica della perdita di connessione tramite un evento mi viene segnalata). Da qui faccio la mia riconnessione logica e sono di nuovo in esecuzione, tuttavia quello che ho iniziato a notare è che stavo creando questo thread di lavoro più e più volte ogni volta (non quello che voglio).
Ora potevo uccidere il workerthread quando perdo la connessione e iniziare uno nuovo, ma questo mi sembra uno spreco di risorse.
Quello che voglio davvero fare, è maresciallo la chiamata (vale a dire, il mio thread metodo start) torna al thread che è ancora in memoria, anche se non fare nulla.
Si prega di inviare qualsiasi esempio o documenti che avete che sarebbe utile.
Grazie.
Puoi pubblicare un po 'del tuo codice? – ChaosPandion
+1 Bella domanda, la gente sembra non votare più per le buone domande ... –