Visualizzazione dei risultati da 1 a 4 su 4

Discussione: vb.net e thread

  1. #1
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002

    vb.net e thread

    scusate sto studiando i thread ,ho un dubbio quando faccio

    Dim t As New Thread(New ThreadStart(AddressOf DoTheTask)
    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 ???

  2. #2
    Si è così anche se per dichiarare il thread io faccio:

    Dim th As Threading.Thread
    th = New Threading.Thread(AddressOf miasub)
    th.Start()
    "La vendetta è un piatto che va gustato freddo"
    Antico proverbio Klingon.
    Lo chiamavano il 'Computer Umano'. Sapeva contare fino a 20 e nudo fino a 21!

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Re: vb.net e thread

    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 ???
    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).

    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.
    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
    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.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    ok grazie delle info oggi stavo leggendo altre cose sui thread e devo dire che nn sono molto facili pero col manuale davanti se po fa
    grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.