Посмотрите на код ниже.
Здесь я создаю поток, устанавливаю его имя и запускаю его:
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
, они разные.
Идеи / мысли?Спасибо!