Commit 2fd69eb3 authored by Campana Manuel's avatar Campana Manuel 💬
Browse files

Esercizio da aggiungere Interrupt

parent ed5a5cb6
Loading
Loading
Loading
Loading
+20 −5
Original line number Diff line number Diff line
@@ -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++)
        {
@@ -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} ");
    }