Re: [問題] 請問要如何等所有thread做完?

看板C_Sharp (C#)作者 (神的左手 惡魔的右手)時間16年前 (2009/07/07 10:15), 編輯推噓5(502)
留言7則, 4人參與, 最新討論串2/2 (看更多)
直接回一篇比較清楚 先說明一下目前的環境及狀況 我是用雙核心的電腦 跑series code的時候CPU使用率大約是50% 跑一次的時間大約11分鐘 部分程式碼用thread來分開跑 例如原本series code時跑1-500個項目 現在拆成1-250給第一個跑 251-500給第二個跑 最後等他們跑完再處理後續 在跑的時候好像因為交錯所以值有問題 因此在某段處理模擬模式的程式碼用lock(this){....} 以上方式跑的結果 thread的方法跑的比series code還慢 大約需要15分鐘 另外使用原本有while那段的時候CPU使用率有到100% 不過拿掉之後換成採用Join的方式 CPU使用率就一直維持在50% 這是否代表一直在用一個CPU跑而已?? 不好意思不知道這樣是否有說明清楚 以及剛接觸這塊很多有不懂的地方還請各位多多指導 謝謝 -- It's my World!! http://blog.pixnet.net/yucgg New Place http://blog.yam.com/evildance -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.190.123

07/07 10:33, , 1F
改WaitHandle.WaitAll試試看?
07/07 10:33, 1F

07/07 10:36, , 2F
樓上大大您好,我在網路上有搜尋到說可以使用您說的方法,
07/07 10:36, 2F

07/07 10:36, , 3F
但一直不知道該如何使用才好,不知道能否教小弟一下,感謝
07/07 10:36, 3F

07/07 12:48, , 4F

07/07 12:51, , 5F
不過再次看了你的描述, 感覺上不是我這能解決的XDrz
07/07 12:51, 5F

07/07 16:38, , 6F
找多執行緒同步
07/07 16:38, 6F

07/07 22:57, , 7F
你lock住的區塊太大了?
07/07 22:57, 7F
文章代碼(AID): #1AKg_U3h (C_Sharp)
文章代碼(AID): #1AKg_U3h (C_Sharp)