第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

Golang同時(shí)讀/寫文件而沒有顯式文件鎖定

Golang同時(shí)讀/寫文件而沒有顯式文件鎖定

Go
桃花長相依 2022-01-17 10:48:21
我有一種情況,我需要同時(shí)讀取/寫入文件,但操作范圍有限:僅追加,沒有隨機(jī)偏移寫入從隨機(jī)位置讀取,我確定之前已經(jīng)寫入了內(nèi)容(通過附加,通過 golang 通道進(jìn)行內(nèi)部訪問序列化,以確保隨機(jī)讀取僅在附加內(nèi)容后發(fā)生)只有一個(gè)進(jìn)程在運(yùn)行這是一個(gè)高負(fù)載的應(yīng)用程序,我想避免每次讀/寫鎖定文件我要打開 2 個(gè)文件 - 一個(gè)用于讀取,另一個(gè)僅用于附加這樣做會產(chǎn)生一些潛在的問題/錯(cuò)誤嗎?如果我想避免每次讀/寫都鎖定文件,推薦的做法是什么?ps golang, linux, ext4
查看完整描述

1 回答

?
長風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊

我假設(shè)“隨機(jī)讀取”實(shí)際上是指“任意讀取”。

如果我正確理解您的用例,您無需手動(dòng)查找或鎖定或執(zhí)行任何操作。UNIX 通過O_APPEND. 這是您可以執(zhí)行的操作:

  1. 用 . 打開文件os.O_APPEND。這樣每次寫入,無論之前的任何操作,都將轉(zhuǎn)到文件末尾

  2. 閱讀時(shí)使用File.ReadAt. 這使您可以為讀取指定任意偏移量

使用此方案,您可以避免任何形式的鎖定:操作系統(tǒng)會為您完成。由于緩沖區(qū)緩存,這種方案甚至不是低效的:追加和讀取幾乎是獨(dú)立的。


查看完整回答
反對 回復(fù) 2022-01-17
  • 1 回答
  • 0 關(guān)注
  • 208 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號