Ho scritto un'applicazione Winforms .NET che utilizza un thread secondario per eseguire un processo pesante, che comunica il suo avanzamento al thread dell'interfaccia utente. Tutto funziona correttamente, il modulo mostra il progresso e ho anche creato un pulsante Annulla per interrompere il thread di elaborazione. Tuttavia, quando il processo richiede molto tempo, l'applicazione e l'intero computer rallentano. Ci vuole molto tempo a trascinare le finestre, e c'è anche un significativo ritardo nel tentativo di digitare lettere nel blocco note.Modifica priorità del thread per rendere più reattivo il mio programma e il computer
Suppongo di dover ridurre la priorità del thread di elaborazione e/o aumentare la priorità del thread dell'interfaccia utente. È giusto? In questo momento entrambi i thread sono normali priorità.
È semplice come il follwing? O c'è qualcos'altro che dovrei fare?
Thread.CurrentThread.Priority = ThreadPriority.AboveNormal;
Come devo modificare le priorità? Dovrei ridurre la priorità dell'elaborazione o aumentare la priorità dell'interfaccia utente o entrambi? E a quale impostazione? AboveNormal, o più alto?
Eric, che tipo di processore è nella tua macchina di sviluppo? Con quale frequenza il thread di lavoro comunica nuovamente all'interfaccia utente? – overslacked