MultiThreading从同一个Textbox做网站请求

时间:2016-07-05 10:08:19

标签: vb.net multithreading winforms

嘿伙计们,所以我正在编写一个程序,我想通过添加多个线程来加快速度

它从richtextbox中读取的内容并将其解析到网站的末尾然后抓取数据,如果它包含某些字符串,则将其添加到另一个文本框

Imports System.Net
Imports System.IO
Public Class Form2
Dim i As Integer
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    i = RichTextBox1.Lines.Count
    StartThreads()
End Sub

Private Sub StartThreads()
    Dim count As Integer
    For count = 0 To TextBox1.Text
        Dim thread = New Threading.Thread(AddressOf Chk)
        thread.IsBackground = True
        thread.Start()
        Threading.Thread.Sleep(500)
    Next
End Sub


Private Sub Chk()
    While i > 0
        i = i - 1
        Threading.Thread.Sleep(500)
        Application.DoEvents()
        Dim text As String = RichTextBox1.Lines(i).ToString
        Dim request As WebRequest = WebRequest.Create("WWW.WEBSITE.COM" + text)
        Dim responce As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
        Dim datastream As Stream = responce.GetResponseStream
        Dim reader As New StreamReader(datastream)
        Dim strData As String = reader.ReadToEnd
        Application.DoEvents()
        If strData.Contains("no-result") Then
            Application.DoEvents()
        Else
            Application.DoEvents()
            RichTextBox2.AppendText(Environment.NewLine & text)
        End If
    End While
End Sub
End Class

我得到一个错误的跨线程操作无效,我尝试阅读代表,我得到它们如何以基本的方式工作,但我不认为这将解决我在阅读文本框的主要问题同时使用不同的值进行相同的操作并将其粘贴到相同的(其他)textbo也似乎即使我使用非专业的方式并将交叉线程检查关闭我得到重复的结果,我不知道为什么任

0 个答案:

没有答案