[.NET] 關於執行緒以及傳值的問題
請輸入專案類型(網站專案或者應用程式專案):應用程式專案
我想問各位一個問題來釐清我的觀念
假設我在我的form按一個按鈕他就會執行迴圈
ex:
1. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
2. System.EventArgs) Handles Button3.Click
3. Dim Item As String
4. For Each Item In ListBox1.SelectedItems
5. Dim Filenum As Integer
6. ThreadPool.QueueUserWorkItem( _
7. New WaitCallback(AddressOf RunLoop))
parameter = Item.toString() ===>新增的code
8. Debug.WriteLine("end")
9. Next
10. End Sub
Sub Runloop()
Debug.WriteLine("start")
End Sub
迴圈裏面還有寫了一個 Runloop的Sub請thread去執行
我的觀念是當程式執行到第6行會跳去處理Runloop
接著再回來執行第8行以後的code
輸出的結果我認為是
start
end
start
end
但我發現他會先把迴圈執行完 才會去執行Runloop@@
執行結果如下
end
end
start
start
請問各位
我的觀念是錯在哪裡
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.96.6.195
→
04/03 15:30, , 1F
04/03 15:30, 1F
→
04/03 15:31, , 2F
04/03 15:31, 2F
→
04/03 15:42, , 3F
04/03 15:42, 3F
※ 編輯: gais 來自: 140.96.6.195 (04/03 15:43)
→
04/03 15:43, , 4F
04/03 15:43, 4F
→
04/03 23:17, , 5F
04/03 23:17, 5F
→
04/03 23:25, , 6F
04/03 23:25, 6F
推
05/15 13:53, , 7F
05/15 13:53, 7F
→
05/15 13:54, , 8F
05/15 13:54, 8F