[JSP ] 關於同步存取的問題(抽號碼牌)

看板java作者 (緣投囝仔)時間10年前 (2014/07/23 22:42), 10年前編輯推噓4(408)
留言12則, 5人參與, 最新討論串1/1
各位好: 請教以下的問題: 想用JSP寫一個類似抽取號碼牌的程式。 目前的需求是讓使用者登入JSP的網頁,再由 使用者按Get的Button 系統會產生一個圖形的『編號』 。編號格式會是KKC03001。KKC代表的是電工類的圖形,03代表的是103年度 ,後面3碼即是流水號的編碼。 若甲取得系統給的KKC03001號碼後,系統會把此編號寫入資料庫。 之後若有乙按Get Button,系統會先select資料庫,得知目前最新的編號後 再計算產生KKC03002的號碼給乙並把此號碼再寫入資料庫。 會把圖形編號寫入資料庫是因為使用者申請那些圖號都要記錄,日後方便查詢。 現在,問題來了,若同時有多人上線申請圖號要如何解決多人同時存取資源 所造成的衝突呢?!也就是說,若同時有50人來申請圖號,這50人要能都取 到號碼,不能有取到『重覆』的號碼。 -- 陰律無情!是的,犯邪淫者,小如手淫、婚前性行為 均會遭折福減壽之惡報。國考者更不能犯淫邪, 否則文昌帝君會除去功名,不信請看此懺悔文: http://lustwarn.blogspot.tw/ 陰律無情!是的,犯邪淫者,若不懺悔發心改過永不再犯, 死後必入邪淫地獄,不信請看;http://goo.gl/tchBZY -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.223.113.8 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1406126575.A.9D6.html ※ 編輯: u9423504 (61.223.113.8), 07/23/2014 22:47:21

07/23 23:52, , 1F
既然都要寫入資料庫了~那就讓資料庫產生就好了?
07/23 23:52, 1F

07/24 00:44, , 2F
用 自動編號的功能?
07/24 00:44, 2F

07/24 01:43, , 3F
另外 現在新的資料庫 都有一次只能有一個人讀寫table的功
07/24 01:43, 3F

07/24 01:44, , 4F
07/24 01:44, 4F

07/24 09:37, , 5F
平行運算的第一個問題就是同步存取的問題
07/24 09:37, 5F

07/24 09:38, , 6F
這個就是要提供排隊的機制~至於方式有很多啦
07/24 09:38, 6F

07/24 09:39, , 7F
用DB去做比較簡單~但如果是作業用synchronized就好啦
07/24 09:39, 7F

07/24 09:40, , 8F
但使用要小心點就是~要注意同步的範圍及效能
07/24 09:40, 8F

07/24 19:19, , 9F
做一個Table 裡面只有號碼 要一次就加一 update回去
07/24 19:19, 9F

07/31 06:35, , 10F
PostgreSQL本身有sequence,只要 select nextval('___')
07/31 06:35, 10F

07/31 06:38, , 11F
依您的範例,在這之前會先create sequence("KKC03")
07/31 06:38, 11F

07/31 06:45, , 12F
修正create sequence "KKC03"
07/31 06:45, 12F
文章代碼(AID): #1JpydldM (java)