Имена потоков, CurrentThread и ThreadState
Перед запуском каждому потоку рекомендуется присвоить содержательное имя, поскольку имена значительно упрощают отладку многопоточных программ. Для этого следует задать значение свойства Name командой следующего вида:
bThread.Name = "Subtracting thread"
Свойство Thread.CurrentThread возвращает ссылку на объект потока, выполняемого в настоящий момент.
Хотя для отладки многопоточных приложений в VB .NET существует замечательное окно потоков, о котором рассказано далее, нас очень часто выручала команда
MsgBox(Thread.CurrentThread.Name)
Нередко выяснялось, что код выполняется совсем не в том потоке, в котором ему полагалось выполняться.
Напомним, что термин «недетерминированное планирование программных потоков» означает очень простую вещь: в распоряжении программиста практически нет средств, позволяющих влиять на работу планировщика. По этой причине в программах часто используется свойство ThreadState, возвращающее информацию о текущем состоянии потока.