我有一个简单的程序,检查网页字符串,例如:VB.net多线程一个WebClient的循环
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim urls() As String = TextBox1.Lines()
Dim links() As String = TextBox2.Lines()
For Each url As String In urls
CheckForLinks(url, links)
Next
End Sub
Private Sub CheckForLinks(ByVal url As String, ByVal links() As String)
Dim wc As New WebClient()
Dim source As String = wc.DownloadString(url)
'MessageBox.Show(source)
For Each link As String In links
If (source.IndexOf(link) <> -1) Then
TextBox3.AppendText("url: " + url + " link: " + link + vbCrLf)
Exit For
Else
TextBox3.AppendText("url: " + url + " link: " + "NOT FOUND" + vbCrLf)
End If
Next
End Sub
它工作正常,但速度很慢,因为它会检查一次在一个网页。
我意识到我可以在button1_click子文件中使用parallel.for,但是我担心它可能会产生大量线程并使web连接过载。
我宁愿可以设置它使用的线程的具体金额,但林不知道从哪里开始。例如,我将如何分配每个网址线程等
大,非常感谢。应该看看过载。是的,一个控制台应用程序是这样做的方式,要简单得多。 – Steve
@ user574632嗨,先生,我正在寻找和你所做的完全一样的东西。我已经在单线程的过程中取得了成功。我想用多线程来制作它。如果你能指导我做同样的事情,我将非常感激:)非常感谢。 –