看板 java 關於我們 聯絡資訊
※ 引述《Hitmear (屍殌化液)》之銘言: : 目前設計了一個簡單的資料庫 : 所有的user都透過socket連上迷你server : 而server主要是處理從user送來的字串 : 並將結果存在一個txt內 : 但是發現多人同時做file access的時候會有先後順序的問題 : 例如: AB同時讀取了文檔,經過各自處理後回傳 : A先回傳後SERVER儲存了,B再回傳 : 結果造成A剛處理過的DATA都被B蓋掉了 : 請問碰到這樣的問題該如何解決? : P.S. : 想用GOOGLE,但關鍵字實在不知道該怎麼下..... 推文都有提到重點字眼了, 我綜合一下說: 每當有多執行緒要 access 同一資源的情況, 你就要 思考 synchronization 的問題. 由最基本的 synchronized keyword, 到對你這情況應 該有用的 Readers-Writer Lock (萬一你是多個 process 同時 access 同一file 你還要想 file lock) 不過, 要是你的目的不是要寫一個這樣的簡易 DB, 而只 是想用的話, 我勸你不必重做輪子. http://www.h2database.comhttp://www.hsqldb.org (還有 Derby) 就是既輕便又快的 DBMS. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82
Hitmear:感謝大家的回答 05/05 16:17