Hallo,
ich möchte gerne alle IP´s meines Subnetzes anpingen und das möglichst schnell. Also habe ich mich für Task.run entschieden und das in eine For each Schleife gelegt. Es klappt auch soweit ganz gut, bis darauf das nur Maximal 4 Threats zugleich bearbeitet werden, wenn ich AWAIT benutze sogar nur 2 Threats. Ich habe mal etwas von Threatpool gelesen, wäre das vielleicht besser oder gibt's irgendwo etwas wo ich die Maximalen Threats hochstellen kann?!
Mit AWAIT:
Ohne Await:
ich möchte gerne alle IP´s meines Subnetzes anpingen und das möglichst schnell. Also habe ich mich für Task.run entschieden und das in eine For each Schleife gelegt. Es klappt auch soweit ganz gut, bis darauf das nur Maximal 4 Threats zugleich bearbeitet werden, wenn ich AWAIT benutze sogar nur 2 Threats. Ich habe mal etwas von Threatpool gelesen, wäre das vielleicht besser oder gibt's irgendwo etwas wo ich die Maximalen Threats hochstellen kann?!
Mit AWAIT:
VB.NET-Quellcode
- Private Async Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- For i = 0 To 30
- Dim o As String = i
- Await Task.Run(Sub()
- If My.Computer.Network.Ping("10.10.4." & o, 100) Then
- Me.Invoke(New ChangeLabelText(AddressOf Meldung), "IP: " & o & " war erfolgreich")
- Else
- Me.Invoke(New ChangeLabelText(AddressOf Meldung), "IP: " & o & " war nicht erfolgreich")
- End If
- End Sub)
- Next
- Task.WaitAll()
- End Sub
-
Ohne Await:
VB.NET-Quellcode
-
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- For i = 0 To 30
- Dim o As String = i
- Task.Run(Sub()
- If My.Computer.Network.Ping("10.10.4." & o, 100) Then
- Me.Invoke(New ChangeLabelText(AddressOf Meldung), "IP: " & o & " war erfolgreich")
- Else
- Me.Invoke(New ChangeLabelText(AddressOf Meldung), "IP: " & o & " war nicht erfolgreich")
- End If
- End Sub)
- Next
- End Sub