Re: [站內] 找工作真的很難

看板java作者 (Terry)時間18年前 (2007/06/15 15:41), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串36/48 (看更多)
※ 引述《adrianshum (Alien)》之銘言: : ※ 引述《Lordaeron (Terry)》之銘言: : : 哇, 有這種狀況的話, 也是看你怎麼design 而已. : : 如果update sql 只update 你要update 的field, 就無所謂 : : concurrency 問題了. : 那就是我所謂 transactional based : 但我提到的情況在 *實際* 工作上有很多. : : 不然你的做法也很 update 前先check sequence, 再query : : 回現在的資料, 最combine, 再update 這樣嗎? : combine 等並非必要. : 一般 optimistic concurrency strategy : 在同時 update, 後 update 者都只是 throw 出 : exception 來提醒 data image outdated. 要 : merge 要怎樣是再之後的事 : 但至少人家已經幫你做了 date image outdate : checking, 你明白價值在哪裡嗎? : : 有沒有starvasion 的問題呢? 問題不就搞得比較複雜了? : 有複雜嗎? : 你可以選擇 case-by-case 去想怎樣handle, 或者自己 : 再去想一個 mechanism 去 handle. 但framework 提供了 : 一個 proven way 去解決這樣的問題, 除非你的情況很特 : 殊否則幹嗎要自己要花時間去設計和寫相關的部份? : Alien 一向都是自己寫啊? transaction based 的, 有一堆queue 可以用, 套就好了. 你講的case, 要是一直出現outdate, 很容易出現starvation, 要是真的有此需要 就讓它只update 被update 的field 吧. 如果連update 的field 都會交錯, 就給它row lock 就好了. db 不能row lock 就算己來個OBJECT 專門負責select 和update 的, 連 outdate 都不會出現, 直接告訴user <你要修改的資料已被lock> 沒哪麼不好寫吧. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.79.232
文章代碼(AID): #16SaAK5M (java)
討論串 (同標題文章)
文章代碼(AID): #16SaAK5M (java)