2 回答

TA貢獻(xiàn)1946條經(jīng)驗 獲得超4個贊
應(yīng)用程序在 上有數(shù)據(jù)競賽。使用同步?;コ怏w,以確保一次只有一個 goroutine 訪問寫入器。writer
mu.Lock() // <-- Lock to prevent concurrent write and flush.
output := []string{time.Message, strconv.FormatInt(time.Duration, 10)}
fmt.Println(output)
err := writer.Write(output)
if err != nil {
fmt.Println("An error encountered ::", err)
fmt.Println("writer.Write error")
logMessage(err.Error())
}
writer.Flush()
mu.Unlock() // <-- Unlock.
在應(yīng)用程序上運行比賽檢測器并修復(fù)任何報告的問題。

TA貢獻(xiàn)1794條經(jīng)驗 獲得超8個贊
我猜你正在使用帶有緩沖區(qū)的作家(如)。當(dāng)灌漿機(jī)將數(shù)據(jù)寫入緩沖區(qū)而另一個灌漿機(jī)嘗試刷新時,會發(fā)生此錯誤。bufio
只需在關(guān)鍵部分添加一個儲物柜即可。
mu.Lock()
// critical section
mu.Unlock()
- 2 回答
- 0 關(guān)注
- 122 瀏覽
添加回答
舉報