我是新來multithreading.I一派以下一些基本的例子是代碼爲什麼這個簡單的多線程不working.UI變得反應遲鈍
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變得unresponsive.What會背後this.Below原因是UI截圖
要點是什麼這段代碼?這不是一個很好的線程使用。你所有的代碼都在UI上運行。 – dbasnett
@dbasnett我正在學習multithreading.This只是一個基本的use.If您有任何其他的鏈接,請分享..謝謝 – Sachin