Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Visual Βασικά Προγραμματισμός

Πώς να πολλαπλών νημάτων σε Visual Basic

Στο όχι και τόσο μακρινό παρελθόν , οι υπολογιστές απλά προσομοίωση το γεγονός ότι είχαν multitasking . Με διπλή πυρήνες ή πολλαπλούς επεξεργαστές , οι υπολογιστές προσομοιώνουν πλέον multitasking , στην πραγματικότητα είναι multitasking . Σε πολλές περιπτώσεις, το λειτουργικό σύστημα θα χωρίσει τα καθήκοντα μέχρι να τρέξει σε διαφορετικούς επεξεργαστές , αλλά και ως προγραμματιστής χρησιμοποιώντας τη Visual Basic . NET δεν είναι δυνατόν να ρητά multi- νήμα της αίτησης . Οδηγίες
Η 1

Εκκίνηση της Visual Basic και να δημιουργήσετε ένα νέο έργο Windows Forms . 2

Προσθήκη " Εισαγωγές System.Threading " ως την πρώτη γραμμή στο αρχείο κώδικα για την κύρια μορφή .
εικόνων 3

Τοποθετήστε ένα κουμπί και πέντε κουμπιά στην κύρια φόρμα . Αλλάξτε το κείμενο κουμπί " Γόνος Θέματος » και επισημαίνουν τα κουμπιά " χαμηλότερη ", " Κάτω Normal ", "Normal ", " Above Normal" και "Highest . " Ονομάστε τα κουμπιά " RB1 , " " RB2 , " " rb3 , " " RB4 " και " RB5 " αντίστοιχα
Η 4

Προσθέστε τον κώδικα για τον κρότο δράση του κουμπιού : .

Private Sub Button1_Click ( ByVal αποστολέα Όπως System.Object , ByVal e Όπως System.EventArgs ) Λαβές Button1.Click

Dim t Όπως Θέματος

t = νέου Θέματος ( AddressOf Me.BackgroundProcess )

Αν rb1.Checked τότε

t.Priority = ThreadPriority.Lowest

ElseIf rb2.Checked τότε

t.Priority = ThreadPriority.BelowNormal

ElseIf rb3.Checked τότε

t.Priority = ThreadPriority.Normal

ElseIf rb4.Checked τότε

t.Priority = ThreadPriority.AboveNormal

ElseIf rb5.Checked συνέχεια

t.Priority = ThreadPriority.Highest

End If

t.Start ( )

End Sub

5

άλλο υπο ρουτίνας σε αυτό το αρχείο , όπως ορίζεται εδώ :

Private Sub BackgroundProcess ( )

Dim f As New WorkerBee

f.Show ( )

End Sub

Παρατηρήστε ότι αυτό δημιουργεί μια άλλη μορφή που ονομάζεται " WorkerBee » που δεν έχει δημιουργηθεί ακόμα , έτσι ώστε να παραβλέψετε το σφάλμα για τώρα .
Η 6

Προσθέστε μια άλλη μορφή στο το έργο και το όνομα " WorkerBee " και τοποθετήστε μια ετικέτα στη φόρμα που ονομάζεται " label1 . " Αυτό πρέπει να είναι το προεπιλεγμένο όνομα για την ετικέτα
Η 7

Προσθέστε τις ακόλουθες δύο υπορουτίνες στο αρχείο κώδικα της WorkerBee του : .

Private Sub WorkerBee_Activated ( ByVal αποστολέα ως αντικείμενο, ByVal e Όπως Σύστημα . EventArgs ) Λαβές Me.Activated

« Κάντε τη δραστηριότητα του νήματος εδώ ή να καλέσετε κάποιο άλλο ρουτίνας ( ες )

Dim i As Integer = 1

Do While True

Label1.Text = " επαναλήψεις : " + i.ToString

i + = 1

Application.DoEvents ( )

Loop

End Sub

Private Sub WorkerBee_FormClosing ( ByVal αποστολέα ως αντικείμενο, ByVal e Όπως System.Windows.Forms.FormClosingEventArgs ) Λαβές Me.FormClosing

« Ματαίωση του νήματος όταν η φόρμα κλείνει , διαφορετικά η εφαρμογή συνηθίζει κοντά

Thread.CurrentThread.Abort ( )

End Sub
8

Εκτελέστε την εφαρμογή . Επιλέξτε διαφορετικά κουμπιά και κάντε κλικ στο κουμπί για να αναπαράγονται το νήμα με την προτεραιότητα . Παρατηρήστε πως τα θέματα με την ίδια προτεραιότητα μείνει περίπου τον ίδιο αριθμό , εκτός των επαναλήψεων , αλλά ένα νήμα υψηλής προτεραιότητας αυξάνει γρήγορα πάνω από ένα νήμα χαμηλής προτεραιότητας .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα