Ho una domanda stilistica sulla scelta dell'implementazione del thread in background che dovrei usare su un'app di Windows Form. Attualmente ho BackgroundWorkerun modulo su che ha un (while(true))ciclo infinito . In questo ciclo uso WaitHandle.WaitAnyper 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é BackgroundWorkerper questo scopo?