Code:VB.NET - Führt dieser Code den ThreadPool korrekt aus?
'Get the Thread Count - Lets say this value was 150;
Dim threads As Integer = CheckerThreads.Value
'Set the Thread Count;
ThreadPool.SetMinThreads(threads, threads)
ThreadPool.SetMaxThreads(threads, threads)
ServicePointManager.DefaultConnectionLimit = threads
ServicePointManager.Expect100Continue = True
'For Each proxy from the Opened File;
For Each Proxy In proxies
'Check the Proxy;
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf CheckProxy), Proxy)
Next
Der obige Code verwendet Takes Jeder Proxy von einem List()
und einfach eine WebRequest des Proxy zu überprüfen, aber das ist nicht im Zusammenhang, was ich frage, eine For Each
die Art, wie ich verwendet habe, Führt es aus, wie ich denke, oder habe ich etwas falsch gemacht?
Welche der folgenden passiert ?:
1 - Ist ein Proxy mit 150 Prozesse überprüft werden?
-oder
2 - prüft es 1 Proxy pro Prozess mit 150 Verarbeitung zur gleichen Zeit überprüft?
Wenn es # 1 dann tun, wie kann ich löse es # 2 zu tun?
Es gibt eine einfache Möglichkeit, Ihre eigene Frage zu beantworten. Etwas anderes tun, als einen Proxy zu prüfen, z. schreibe eine Zahl in die Konsole und sieh nach, ob du die gleiche Nummer 150 Mal oder 150 verschiedene Zahlen bekommst. Haben Sie auch die Dokumentation für die von Ihnen aufgerufenen 'Set'-Methoden gelesen? – jmcilhinney
@jmcilhinney Gute Idee über die Konsole, aber keine Idee, was Sie mit "Set" -Methoden meinen. – ShinyMK
@jmcilhinney Ok, Getestet und es tut # 2, Aber wie, etwas verwirrt, ist es tatsächlich zur gleichen Zeit ausgeführt oder nachdem man fertig ist? – ShinyMK