資料競爭 data race
Data race: 指多個gorountine處理同一個共享變數存取導致出現結果可能不正確的情況。
go自帶檢測方法: -race
加在go run -race main.go執行,可以找出問題。
遇到data race 的幾種處理方法:
Atomic 原子操作(效能較鎖好,但只有簡單的型態可用)
加鎖:互斥鎖
Channel
Last updated
Data race: 指多個gorountine處理同一個共享變數存取導致出現結果可能不正確的情況。
加在go run -race main.go執行,可以找出問題。
Atomic 原子操作(效能較鎖好,但只有簡單的型態可用)
加鎖:互斥鎖
Channel
Last updated