私はマルチスレッドが初めてです。以下のいくつかの基本的な例をグーグルで検索しましたが、コードは次のとおりです
Imports System.Threading
Public Class Form1
Dim t As New Thread(AddressOf Me.BackgroundProcess)
Private Sub btnStartThread_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStartThread.Click
t.Start()
End Sub
Private Sub StopButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StopButton.Click
t.Abort()
End Sub
Public Sub BackgroundProcess()
Dim i As Integer = 1
If Me.InvokeRequired Then
Me.Invoke(New MethodInvoker(AddressOf BackgroundProcess))
Else
Do While True
Me.ListBox1.Items.Add("Iteration:" & i)
i += 1
Loop
End If
End Sub
End Class
[スレッドの開始] をクリックすると、UI が応答しなくなります。この背後にある理由は何でしょうか。以下は UI のスクリーンショットです。