看看下面的代碼。爲什麼這兩種方法中的線程不同?
在這裏,我創建一個線程,設置它的名稱,並啓動它:
Private Sub fileCreated(sender As Object, e As FileSystemEventArgs)
Dim processFileThread As Thread = New Thread(AddressOf fileCreatedHelper)
processFileThread.Name = e.FullPath
processFileThread.Start()
End Sub
這是一種線程子:
Private Sub fileCreatedHelper()
If Me.InvokeRequired Then
Me.Invoke(New MethodInvoker(AddressOf fileCreatedHelper))
Else
Dim currentThread = Thread.CurrentThread ' NOT WORKING!
Dim fileName = currentThread.Name
' do more stuff that requires fileName
End If
End Sub
在fileCreatedHelper
,Thread.CurrentThread
沒有得到我我上面創建的線程。爲什麼是這樣?當我把斷點放入並看看它們的ManagedThreadIds
時,它們是不同的。
想法/想法?謝謝!