0
많은 웹 사이트를 탐색하고 텍스트 상자에 텍스트가 있는지 확인하는 도구를 프로그래밍하고 있습니다. 이제는 멀티 스레딩을 추가하지 않아서 훨씬 더 빠르며, 가장 바람직하게는 동적으로 스레드를 추가합니다. 이것은 내 코드입니다.하지만 범위의 인덱스를 나타 내기 때문에 작동하지 않습니다. 그리고 어쨌든 그것이 작동하는지 의심 스럽습니다.멀티 스레딩 웹 요청?
Dim clsThreads As New Generic.List(Of System.Threading.Thread)
Dim numberOfthreads As Integer = 1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For Each strLine1 As String In TextBox1.Text.Split({vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
For Each strLine2 As String In TextBox2.Text.Split({vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
clsThreads(numberOfthreads) = New Thread(Sub() Me.request(strLine1, strLine2))
clsThreads(numberOfthreads).Name = "Thread: " + numberOfthreads.ToString
clsThreads(numberOfthreads).IsBackground = True
clsThreads(numberOfthreads).Start()
numberOfthreads = numberOfthreads + 1
If (numberOfthreads.Equals(20)) Then
numberOfthreads = 0
End If
Next
Next
End Sub
그렇다면 어떻게 스마트 방식으로 멀티 스레딩을 구현할 수 있습니까?
이 내 요청 하위입니다 :
Public Sub request(ByVal username, ByVal mail)
Dim req As WebRequest = WebRequest.Create("http://localhost/" + username)
req.Method = "GET"
Dim res As WebResponse = req.GetResponse()
Dim dataStream As Stream = res.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
If responseFromServer.Contains(mail) Then
TextBox3.Text = TextBox3.Text + vbNewLine + username
End If
End Sub
최종 등급이 같은