看板 C_Sharp 關於我們 聯絡資訊
小弟功力粗淺,想請教各位先進 軟體內有個主資料表Main_DataTable 軟體有多個線程同時從不同網站抓取資料並寫入Main_DataTable 問題1: 如果不使用LOCK(Main_DataTable),會不會很容易造成資料上的衝突? 問題2: 如果LOCK(Main_DataTable),當網站1正在存取,其他線程wait, 是不是會有效率上的問題? 如果是的話,有沒有其他方式可以參考? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.166.163
m339606:衝突是指?會有什麼問題? 03/19 08:21
GoalBased:要用LOCK 03/19 19:28
unstoppable:表中有主鍵,同步寫入很容易出現主鍵已存在 03/19 22:08
unstoppable:已經有加過判斷當主鍵不存在才寫入,還是會發生 03/19 22:08
unstoppable:請問G大,那問題2會需要考慮到嗎? 03/19 22:09
g66932007:回樓上 迴圈裡面用try catch包,主鍵存在會跳cath,執行 03/19 22:14
g66932007:下一個線程 03/19 22:14
GoalBased:資料碰撞本來就要等一下阿 等看你是要等一下還是要 03/19 22:22
GoalBased:資料錯誤吧XD 答案應該很明顯 03/19 22:22
unstoppable:恩恩~感謝樓上兩位G大 03/19 22:27
f1234518456:要正確性效率就會低一點 看你怎麼取捨... 03/19 23:09
andymai:改設計的話~就"可能"不用lock~端看有沒有可能不建主鍵先寫 03/19 23:12
andymai:入~之後再補... 03/19 23:13
Litfal:主鍵用Guid跟他賭XD 03/20 01:36