Re: [技術] 有沒有ptt這個bbs實作細節的八卦

看板Soft_Job作者 (PTT新聞)時間10年前 (2013/10/30 14:10), 編輯推噓3(3010)
留言13則, 9人參與, 最新討論串3/3 (看更多)
我有一事請教, 比如某 文章代碼(AID): #1IRx6CHT 底下有10個 user 推文,一共推200行 這種情況下,PTT會用哪種作法 1. 推文append 在主文(#1IRx6CHT)的後面 2. 另開新檔,用.index檔做這兩者連結 不管哪一種,都會遇到多人搶資源,這要怎麼排解? 假設原PO刪某行推文,正在寫入, 剛好有人推文,而板主又同時砍文, 在說明清楚一點,就是某同一時間,Queue裡面有以下事件 1. 原po刪掉非AB的推文,並加註文字於推文內,按存檔,而且會改變AB的排版位置 2. A推一條 3. B噓一條 4. 板主砍掉原PO的文 5. CDEF都在看板上,正在讀取文章清單,所以在讀取#1IRx6CHT的index file 這種情況,file base 要怎麼解決呢 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.63.96.2

10/30 14:22, , 1F
Lock. Race condition issue.
10/30 14:22, 1F

10/30 14:23, , 2F
Lock
10/30 14:23, 2F

10/30 14:23, , 3F
以 ptt 的現行作法應該是 append 主文
10/30 14:23, 3F

10/30 16:00, , 4F
類似的問題, OS 的書就有講了. 這世界應該沒什麼新鮮的
10/30 16:00, 4F

10/30 16:01, , 5F
作法來處理race condition 的.
10/30 16:01, 5F

10/30 18:06, , 6F
flock
10/30 18:06, 6F

10/30 19:13, , 7F
PPT推文是結束行才append在原post全文修改文後,不必lock
10/30 19:13, 7F

10/30 19:45, , 8F
以前會LOCK 現在不會
10/30 19:45, 8F

10/31 00:53, , 9F
沒有lock, 直接append
10/31 00:53, 9F

10/31 08:22, , 10F
要看使用者經驗, 有些設計會容許 race condition.
10/31 08:22, 10F

10/31 09:20, , 11F
不鎖,就是當原文在編輯時(設為T2), 所有在T2後完成的推
10/31 09:20, 11F

10/31 09:22, , 12F
文,都不反應到現在的文章中,直到原文編輯完, 才一拼反應
10/31 09:22, 12F

11/02 09:04, , 13F
請問 T2 是什麼東西啊~
11/02 09:04, 13F
文章代碼(AID): #1ISABKau (Soft_Job)
文章代碼(AID): #1ISABKau (Soft_Job)