Отладка потоков может быть сложной, поверьте мне. Это не «настоящий» ответ, это набор советов, которые могут помочь - я надеюсь, что это произойдет.
В меню отладки есть выделенные windows, которые могут помочь. Я начал с этой веб-страницы , когда мне было интересно, что происходит с моим приложением и почему не было очевидно, почему это происходит.
Кроме того, пока ваш параллельный поток работает, он может "silent cra sh", если ваша IDE не настроена на паузу при каждом cra sh, и в этом случае она не будет возвращать значение, а просто будет молчать. Убедитесь, что установлены хотя бы следующие параметры:
And don't forget to show this window while debugging: (previous image showed Threads and Call stack instead, while they are good to have around while debugging it's the parallel stacks which I was going for)
Параллельные стеки
И последнее: такая большая задержка может быть связана с базой данных. Я не говорю, что это так, но вы должны знать о возможности. 1026 * в SetupDataSources()
, таким образом, где бы он ни был вызван, вы будете потокобезопасными. Вот так:
Private Sub SetupDataSources()
If RadGridView.InvokeRequired Then
RadGridView.Invoke(Sub() SetupDataSources())
End If
If liveDS.Tables.Count > 1 Then
RadGridView.DataSource = liveDS.Tables("Customer")
liveOrdersTemplate.DataSource = liveDS.Tables("Orders")
liveOrdersTemplate2.DataSource = liveDS.Tables("OrderLine")
End If
End Sub
Удачи ... вам может понадобиться;)