Loading Lezione1_Thread/Program.cs +20 −5 Original line number Diff line number Diff line Loading @@ -85,33 +85,48 @@ public class Lezione1 */ public static void Main(string[] args) { Thread t_fattoriale = new Thread(Fattoriale); Thread t_somma = new Thread(CalcoloSomma); Thread t_conversione = new Thread(Conversione); Console.WriteLine("Avvio i Thread..."); Thread.Sleep(200); t_fattoriale.Start(); Console.WriteLine($"\nLo stato del Thread fattoriale : {t_fattoriale.IsAlive}"); Console.WriteLine($"Lo stato attuale del thread fattoriale:{t_fattoriale.ThreadState}"); Thread.Sleep(100); t_somma.Start(); t_conversione.Start(); Console.WriteLine($"\nLo stato del Thread somma : {t_somma.IsAlive}"); Console.WriteLine($"Lo stato attuale del thread somma:{t_somma.ThreadState}"); Thread.Sleep(100); t_conversione.Start(); Console.WriteLine($"\nLo stato del Thread conversione : {t_conversione.IsAlive}"); Console.WriteLine($"Lo stato attuale del thread conversione:{t_conversione.ThreadState}"); // USO ISALIVE PER VERIFICARE SE UN THREAD È ANCORA IN ESECUZIONE // USO Thread.State PER OTTENERE LO STATO ATTUALE DI UN THREAD // USO INTERUPT PER INTERROMPERE UN THREAD } public static void Fattoriale() { Console.WriteLine("\n\nCalcolo del fattoriale di 10..."); Console.WriteLine("Calcolo del fattoriale di 10..."); int fattoriale = 10; for (int i = 10 - 1; i > 1; i--) { fattoriale *= i; } Console.WriteLine($"Il fattoriale di 10 è {fattoriale} "); } public static void CalcoloSomma() { Thread.Sleep(50); Console.WriteLine("\n\nCalcolo della somma da 0 a 10000..."); Console.WriteLine("Calcolo della somma da 0 a 10000..."); int somma = 0; for (int i = 0; i <= 10000; i++) { Loading @@ -125,7 +140,7 @@ public class Lezione1 Thread.Sleep(100); int numero = 10000; Thread.Sleep(100); Console.WriteLine($"\n\nConversione del numero {numero} in binario..."); Console.WriteLine($"Conversione del numero {numero} in binario..."); string risultato = Convert.ToString(numero, 2); Console.WriteLine($"La conversione del numero {numero} è: {risultato} "); } Loading Loading
Lezione1_Thread/Program.cs +20 −5 Original line number Diff line number Diff line Loading @@ -85,33 +85,48 @@ public class Lezione1 */ public static void Main(string[] args) { Thread t_fattoriale = new Thread(Fattoriale); Thread t_somma = new Thread(CalcoloSomma); Thread t_conversione = new Thread(Conversione); Console.WriteLine("Avvio i Thread..."); Thread.Sleep(200); t_fattoriale.Start(); Console.WriteLine($"\nLo stato del Thread fattoriale : {t_fattoriale.IsAlive}"); Console.WriteLine($"Lo stato attuale del thread fattoriale:{t_fattoriale.ThreadState}"); Thread.Sleep(100); t_somma.Start(); t_conversione.Start(); Console.WriteLine($"\nLo stato del Thread somma : {t_somma.IsAlive}"); Console.WriteLine($"Lo stato attuale del thread somma:{t_somma.ThreadState}"); Thread.Sleep(100); t_conversione.Start(); Console.WriteLine($"\nLo stato del Thread conversione : {t_conversione.IsAlive}"); Console.WriteLine($"Lo stato attuale del thread conversione:{t_conversione.ThreadState}"); // USO ISALIVE PER VERIFICARE SE UN THREAD È ANCORA IN ESECUZIONE // USO Thread.State PER OTTENERE LO STATO ATTUALE DI UN THREAD // USO INTERUPT PER INTERROMPERE UN THREAD } public static void Fattoriale() { Console.WriteLine("\n\nCalcolo del fattoriale di 10..."); Console.WriteLine("Calcolo del fattoriale di 10..."); int fattoriale = 10; for (int i = 10 - 1; i > 1; i--) { fattoriale *= i; } Console.WriteLine($"Il fattoriale di 10 è {fattoriale} "); } public static void CalcoloSomma() { Thread.Sleep(50); Console.WriteLine("\n\nCalcolo della somma da 0 a 10000..."); Console.WriteLine("Calcolo della somma da 0 a 10000..."); int somma = 0; for (int i = 0; i <= 10000; i++) { Loading @@ -125,7 +140,7 @@ public class Lezione1 Thread.Sleep(100); int numero = 10000; Thread.Sleep(100); Console.WriteLine($"\n\nConversione del numero {numero} in binario..."); Console.WriteLine($"Conversione del numero {numero} in binario..."); string risultato = Convert.ToString(numero, 2); Console.WriteLine($"La conversione del numero {numero} è: {risultato} "); } Loading