作者u9423504 (緣投囝仔)
看板java
標題[JSP ] 關於同步存取的問題(抽號碼牌)
時間Wed Jul 23 22:42:49 2014
各位好:
請教以下的問題:
想用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
→ andymai:既然都要寫入資料庫了~那就讓資料庫產生就好了? 07/23 23:52
推 pupuliao:用 自動編號的功能? 07/24 00:44
推 pupuliao:另外 現在新的資料庫 都有一次只能有一個人讀寫table的功 07/24 01:43
→ pupuliao:能 07/24 01:44
→ swpoker:平行運算的第一個問題就是同步存取的問題 07/24 09:37
→ swpoker:這個就是要提供排隊的機制~至於方式有很多啦 07/24 09:38
→ swpoker:用DB去做比較簡單~但如果是作業用synchronized就好啦 07/24 09:39
→ swpoker:但使用要小心點就是~要注意同步的範圍及效能 07/24 09:40
推 PttTime:做一個Table 裡面只有號碼 要一次就加一 update回去 07/24 19:19
推 abola921:PostgreSQL本身有sequence,只要 select nextval('___') 07/31 06:35
→ abola921:依您的範例,在這之前會先create sequence("KKC03") 07/31 06:38
→ abola921: 修正create sequence "KKC03" 07/31 06:45