[問題] 多執行緒存取資料庫問題

看板C_and_CPP (C/C++)作者 (jasonkey123)時間9年前 (2016/08/27 19:32), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vc 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) mysql 問題(Question): 當c程式有多個thread,同時對db的 某 table做寫入時, 需要自己加lock嗎?還是資料庫會自己處理,不需自己介入? 如 thread 1 對 test table的 row 1做update thread 2 對 test table的 row 3做update thread 3 對 test table的 row 2做update my_thread() { lock(mylock) { update_db(); } } 在my_thread()裡的 lock 需要加嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.100.69.4 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1472297542.A.E26.html

08/27 22:27, , 1F
debugger開了,點進去update_db裡看實作。
08/27 22:27, 1F

08/27 22:28, , 2F
而如果你在update_db下一行下斷點就可以確定是否需加。
08/27 22:28, 2F

08/28 04:39, , 3F
MySql 官網有說明 http://goo.gl/AOYwme
08/28 04:39, 3F

08/28 07:23, , 4F
看文件,該API 是否thread safe
08/28 07:23, 4F
文章代碼(AID): #1NmNf6uc (C_and_CPP)
文章代碼(AID): #1NmNf6uc (C_and_CPP)