05/12/14 16:44
Roby94
Una CPU Intel con 4 core e hyper threading (la configurazione che permette il numero maggiore di thread simultanei) arriva massimo a 8 thread simultanei, stai facendo girare il tuo programma su un sistema operativo MOLTO complesso quindi gia le operazioni non richieste dal tuo programma possono arrivare ad un picco del 100%, tu gli chiedi in piu di eseguire un calcolo con tempo indeterminato e senza pause. Arriva tu alle conclusioni.
Nemmeno su una macchina dedicata che fa girare solo il programma a basso livello sarebbe un operazioni consigliata.
Edit: La CPU può gestire thread non esiste qualcosa di più basilare, è sicuro che la classe di .NET l'appesantisce ma o quella o qualcosa di piu complesso.
Ultima modifica effettuata da Roby94 05/12/14 16:46
aaa
05/12/14 18:10
Stai sbagliando ad utilizzare i thread in quel modo.
Nel ciclo principale del thread devi inserire una chiamata per "addormentare" un po' il thread per lo scheduler del sistema operativo. Senza addentrarci troppo nelle spiegazioni, devi inserire nel ciclo del thread una
System.Threading.Thread.Sleep(100);
07/12/14 17:29
Dice
Pensavo a questo:
visto che gli eventi (giornaliere/mensili/annuali) si ripetono appunto una volta al giorno, potrei mettere uno sleep di 23 ore e mezza subito dopo aver gestito un qualunque evento.
Che ne dite? E' una cosa stupida o può andare?
aaa
07/12/14 18:03
E' una cosa stupida.
P.S. La CPU adesso come va?