Ich benutze VB.net, um einige Gleichungen zu lösen, indem man sie interagiert. Es dauert eine lange Zeit mit einem Thread, so dass ich hoffe, jemand kann mir helfen Multithread den Code. Hier ist ein über vereinfachtes Beispiel dessen, was ich erreichen möchte.Multithreading für Schleifen in vb.net
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim Evens(6) As Integer
Dim Odds(6) As Integer
For i = 0 To 6
Evens(i) = i * 2
Odds(i) = i * 2 + 1
Next
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Evens = RunLoop(Evens, 0, 6) 'The best way to Multi thread this part please.
Odds = RunLoop(Odds, 0, 6)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
For i = 0 To 6
TextBox1.AppendText(Evens(i) & vbNewLine)
TextBox1.AppendText(Odds(i) & vbNewLine)
Next
End Sub
Private Function RunLoop(Numbers() As Integer, Start As Integer, Last As Integer)
For i = Start To Last
Numbers(i) *= Numbers(i)
Next
Return Numbers
End Function
End Class
Ich muss den Haupt-Thread zu Daten aus der Vergangenheit zurück, so kann ich die Ergebnisse von jedem Thread gegeneinander vergleichen. Ich habe eine Klasse für die Daten erstellt, die ich aus der Funktion zurückholen muss.
Die in jeder for-Schleife verbrachte Zeit kann unterschiedlich lang sein.
Überprüfen Sie [Parallel.For] (https://msdn.microsoft.com/en-us/library/dd460713 (v = vs.110) .aspx) –