Il metodo costruttore della classe Thread accetta come parametro un delegato, che è l'oggetto in grado di mantenere un riferimento ad un metodo corrispondente ad un certo prototipo (numero e tipo di parametri e valore di ritorno).Originariamente inviato da cassano
in altre parole creo una istanza di thread che opera sulla sub da me creata dothetask vero ???
quindi da quel punto in poi il codice eseguira in parallelo due istruzioni quella principale e quella presente in DoTheTask ???
Quando crei un'istanza di Thread, passi come parametro il "delegato" al metodo che intendi eseguire in modo asincrono alla chiamata del metodo Start dell'istanza di Thread.
Se esegui questo programma più volte, vedrai che otterrai - talvolta - un output diverso. Siccome il thread primario e quello secondario (creato da te) eseguono contemporaneamente, quello che viene eseguito prima o dopo non è prevedibile.codice:Imports System Imports System.Threading Module SimpleThreading Class ConsoleApp Private Shared Sub ThreadedMethod() Console.WriteLine("Stato thread: " + Thread.CurrentThread.ThreadState.ToString()) End Sub Public Shared Sub Main() Dim startMethod As ThreadStart = New ThreadStart(AddressOf ThreadedMethod) Dim myThread As New Thread(startMethod) Console.WriteLine("Prima di Start(): " + myThread.ThreadState.ToString()) myThread.Start() Console.WriteLine("Dopo Start(): " + myThread.ThreadState.ToString()) End Sub End Class End Module
Ciao!![]()

Rispondi quotando