-4
我寫了一個帶有6個線程的程序,在我的CORE I7中運行良好,但是當我在CELERON中運行它時不起作用。看來,線程停止工作。如何在VB.NET 2013中改進我的程序以獲得更好的性能?
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
Timer1.Enabled = True
CheckForIllegalCrossThreadCalls = False
trd = New Thread(AddressOf ThreadTask)
barreras_trd = New Thread(AddressOf barreras)
sensores_trd = New Thread(AddressOf sensores)
convierte_trd = New Thread(AddressOf convierte)
emite_tiquet_trd = New Thread(AddressOf tiquet)
actualiza_trd = New Thread(AddressOf actualiza_grilla)
trd.IsBackground = True
barreras_trd.IsBackground = True
sensores_trd.IsBackground = True
convierte_trd.IsBackground = True
emite_tiquet_trd.IsBackground = True
actualiza_trd.IsBackground = True
trd.Start()
barreras_trd.Start()
sensores_trd.Start()
convierte_trd.Start()
emite_tiquet_trd.Start()
actualiza_trd.Start()
Me.DataGridView1.FirstDisplayedScrollingRowIndex = Me.DataGridView1.RowCount - 1
'Select the last row.
Me.DataGridView1.Rows(Me.DataGridView1.RowCount - 1).Selected = True
End Sub
'CheckF orIllegalCrossThreadCalls = False'是一個非常糟糕的做法,研究如何在vb.net中使用線程以及如何從另一個線程更新GUI。您可以從這裏開始:https://msdn.microsoft.com/en-us/library/aa289496(v=vs.71).aspx – jonathana
請勿爲每個威脅使用單獨的線程。只需使用一個線程進行威脅,然後循環遍歷每個線程並以某種方式進行更新。沒有看到你的代碼對我們來說是有幫助的! –
您可能有同步死鎖問題,但不在您發佈的代碼部分。不用這種方式來回答。 –