推 damody:不要同步就好。 07/14 13:47
推 Arton0306:不知std::queue為什麼會lock 我只知道gcc -pthread後 07/14 16:57
→ Arton0306:new會變成thread safe 不知是不是類似原因 07/14 16:57
→ fuha:請問一下 你說queue 會 call Lockit 的函式名稱是什麼??? 07/14 17:04
在queue中..會呼叫的函式是_Lockit _Lock(_LOCK_DEBUG);
推 damody:所有標準容器都是 多執行緒安全的 會lock是正常的 07/14 17:31
→ damody:你可以用 const 函數 來讀取資料 應該有機會不 lock 07/14 17:31
→ shadow0326:standard says nothing of threads 07/14 21:40
→ loveme00835:damody 你什麼時候產生了幻覺? Q_Q 07/14 23:07
其實我自己也在想,為何我隨便亂寫的queue去做多執行緒測試時,
並沒有發生queue去lock執行緒的問題...
但是自己寫的FloodFill,queue就一直去呼叫Lockit
到底是什麼問題 ...目前不知道..XD
※ 編輯: kight 來自: 101.14.80.209 (07/15 00:24)
→ damody:恩,我還在檢查我的幻覺,不過真的印象很深刻的樣子 07/15 23:29
→ fuha:standard container thread safe ?? 07/15 23:51
→ kight:用Google查_Lockit _Lock(_LOCK_DEBUG),第一筆就有跟我一樣 07/15 23:54
→ kight:的問題..不過那解決方法我試了之後....沒用..XD 07/15 23:55
推 fuha:你是build debug版本的? 你build 也一樣嗎? 07/16 00:02
→ kight:嗯...一樣..是Debug板本.... 07/16 00:07
推 damody:debug 一定有thread-safe 的呀_Lockit _Lock(_LOCK_DEBUG); 07/16 01:55
→ damody:我的意思是 請release??? 應該就沒問題了。 07/16 03:29
→ damody:對了,有thread-safe 是幻覺沒錯。 07/16 03:37
→ kight:嗯..我對Release版不是很熟,很怕跑出來的結果不對...XD 07/16 20:52
→ chengcti:因為 release 版少了很多保護. 包含timing問題會浮出 來 07/17 12:35