下面是我寫的多執行緒
Private Sub Connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Connect.Click
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Running), I2C_READ_VALUE)
I2C_READ_VALUE.Set()
'我本來是要這樣寫的
' If Even_Start = True Then
' I2C_READ_VALUE.Reset()
' Else
' ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Running), I2C_READ_VALUE)
' I2C_READ_VALUE.Set()
' End If
End Sub
Private Sub Disconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Disconnect.Click
I2C_READ_VALUE.Reset()
End Sub
Sub Running()
......
I2C_READ_VALUE.WaitOne()
.....
End sub
我的問題來了
為什麼如果我寫再同一各FUNCTION內
I2C_READ_VALUE.Reset()
....
I2C_READ_VALUE.Set()
這樣就可以繼續執行
我把I2C_READ_VALUE.Reset()跟I2C_READ_VALUE.Set()寫在不同的 button
想說能要連線就開始運作 按離線就停止
結果在我按了離線後 想再按連線卻不會重新運作
所以我最後才寫成這樣
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Running), I2C_READ_VALUE)
I2C_READ_VALUE.Set()
按過一次連線後 下一次連線後 又重新呼叫到
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf Running), I2C_READ_VALUE)
--
"◢██◣ 呼呼呼~ 為什麼…我這麼愛你…
↙操B跑車 " ,█◥◥◥ ˊ 對不起,他有車。 ˋ ◢██◣
▄◣ ◤ ◎ ◎ ◣◢██◣ˊ █◥◥◥▌
◣◥◣ ◥ ▼◤ ▉█◥◥◥ ◤ ▇ ▇◤
██████ ◣ ╲██◣ ▉◤ ▄ ▄ ◥ █▲◤
██◤▄◥█▃ ◢ █▃●╲ ◤╲█"█◤ g121630作 ◢ ◣ ◣
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.134.162