在for回圈里創建執行緒,怎么把對應i的索引傳進執行緒的方法里。因為for回圈很快就結束,每個執行緒都只能運行最后個索引的引數的方法。
以前有解決過這種情況,過了半年忘記怎么解了。。
求救!
uj5u.com熱心網友回復:
回答你標題的問題:多執行緒如何傳引數?通過委托的方式捕獲區域變數就可以完成傳入引數var 引數 = 123;
Task.Run(()=>{var foo = 引數; // 拿到引數});
這里的 Task.Run 和 Thread 是差不多的意思,都是開啟多執行緒。只是我比較推薦使用 Task 的方法,因為 Task 是執行緒池
uj5u.com熱心網友回復:
你圖片那樣寫是沒問題的。你是不是count=1或者length=0了uj5u.com熱心網友回復:
謝謝大家,已經解決了。前面代碼泛型加錯物件了,難怪一直只操作同個視窗。。害我以為這邊傳參沒傳對
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/66446.html
標籤:C#
