VB Background Multitasking


Prima di iniziare, assicurarsi di importare System.Threading. Ecco la parte superiore della pagina prima di "modulo Module1" o "Public Class Form1"

Importazioni System.Threading

Multitasking di base

Nel seguente esempio, questo crea un compito molto semplice sfondo. Il codice di scrittura console 1-120 ogni secondo.




Multitasking Base - Codice VB

Importazioni System.Threading Module Module1 Sub Main () Cthread dim come nuovo thread (AddressOf BackgroundTask) cThread.Start () End Sub Sub BackgroundTask () Inserisci il tuo indirizzo qui sotto As Integer For i = 1 a 120 Console.WriteLine (i) Thread.Sleep (1000) 'Attendere per 1 secondo Il Prossimo End Sub Modulo End

multithreading con parametri in VB

Il frammento di codice seguente mostra come eseguire vari compiti con le variabili.

multithreading con i parametri - Code VB

Importazioni System.Threading Module Module1 Sub Main () Cthread dim come nuovo thread (Sub () BackgroundTask (10, 200)) cThread.Start () End Sub Sub (ByVal pettorale As Integer, ByVal finishNumber As Integer) BackgroundTask Inserisci il tuo indirizzo qui sotto Per As Integer = pettorale Per finishNumber Console.WriteLine (i) Thread.Sleep (1000) 'Attendere per 1 secondo Il Prossimo End Sub Modulo End

Questo può essere discussioni più secondari, come illustrato di seguito:

multithreaded Sub - Codice VB

Importazioni System.Threading Module Module1 Sub Main () Console.WriteLine ("Start Task") Cthread fioco come nuovo thread (Sub () BackgroundTask (10, 200, "The Wire A")) cThread.Start () CThread_2 dim come nuovo thread (Sub () BackgroundTask (25, 140, "The Wire B")) cThread_2.Start () End Sub Sub (ByVal pettorale As Integer, ByVal finishNumber As Integer, ByVal come prefix String) BackgroundTask Inserisci il tuo indirizzo qui sotto Per As Integer = pettorale Per finishNumber Console.WriteLine (prefisso + i) Thread.Sleep (1000) 'Attendere per 1 secondo Il Prossimo End Sub Modulo End

Un parametro terza 'prefix' è aggiunta la tabella qui sotto easlier sotto stand.

Cattura schermo di multithreaded Sub

pool di thread

È anche possibile eseguire lo spooling dei lavori filo in ThreadPool.QueueUserWorkItem. Questo permetterà subacquei molto più facile creare il proprio thread per ogni sub deve essere eseguito in background.

Vedere l'esempio di seguito in cui Class1 ha una classe personalizzata con un lungo filo.

'ThreadPool' non sarà in studio 'comune' dei testi visivi predittivi. Sarà necessario selezionare "All".

pool di thread - Codice VB

Importazioni System.Threading 'Rember per importare il filo di classe Module Module1 Sub Main () C Dim As New Class1 ThreadPool.QueueUserWorkItem (AddressOf c.LongProcessWithOutVariable) End Sub Modulo End

pool di thread con una variabile

Non aggiungere le variabili nello stesso modo come si farebbe con un sub normale. È necessario aggiungere un oggetto, che può essere solo una variabile come una stringa. Ad esempio vedere sotto:

pool di thread con una variabile - Code VB

Importazioni System.Threading Module Module1 Sub Main () C Dim As New Class1 VariableString Dim As String = "Ciao" ThreadPool.QueueUserWorkItem (AddressOf c.LongProcessWithOutVariable, variableString) End Sub Modulo End

ThreadPool con più di una variabile/parametro

Questo è in realtà più semplice di quanto si pensi, è necessario creare una classe che questi mySubVariables. Creare una classe, dare alla classe una proprietà per ciascun parametro allora passare questo come una singola variabile.

(0)
(0)

Commenti - 0

Non ci sono commenti

Aggiungi un commento

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caratteri rimanenti: 3000
captcha