Ho una domanda stilistica sulla scelta dell'implementazione del thread in background che dovrei usare su un'app di Windows Form. Attualmente ho BackgroundWorker
un modulo su che ha un (while(true))
ciclo infinito . In questo ciclo uso WaitHandle.WaitAny
per mantenere il thread snoozing fino a quando accade qualcosa di interessante. Uno degli handle dell'evento che aspetto è un " StopThread
" evento in modo da poter uscire dal ciclo. Questo evento viene segnalato quando dal mio override Form.Dispose()
.
Ho letto da qualche parte che BackgroundWorker
è veramente destinato a operazioni con le quali non si desidera legare l'interfaccia utente e avere una fine finita, come scaricare un file o elaborare una sequenza di elementi. In questo caso la "fine" è sconosciuta e solo quando la finestra è chiusa. Pertanto sarebbe più appropriato per me utilizzare un thread in background anziché BackgroundWorker
per questo scopo?