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

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

在 go build 中使用 '-race' 標(biāo)志時(shí)發(fā)生了什么

在 go build 中使用 '-race' 標(biāo)志時(shí)發(fā)生了什么

Go
倚天杖 2022-08-15 10:23:52
我對(duì)下面的代碼感到困惑,與,會(huì)改變程序行為有什么區(qū)別嗎?go run go run -race-race// test.gopackage mainimport "fmt"func main() {    c := make(chan string)    go func() {        for i := 0; i < 2; i++ {            c <- "hello there"        }    }()    for msg := range c {        fmt.Println(msg)    }}當(dāng) 時(shí),結(jié)果為:go run test.gohello therehello therefatal error: all goroutines are asleep - deadlock!goroutine 1 [chan receive]:main.main()        /Users/donghui6/go/src/jd.com/iaas-sre/test/test.go:14 +0xf4exit status 2當(dāng) 時(shí),程序?qū)炱穑缦滤荆篻o run -race test.gohello therehello there所以,誰能告訴我使用標(biāo)志時(shí)發(fā)生了什么-race
查看完整描述

1 回答

?
素胚勾勒不出你

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

在 Go Build 中使用 '-race' 標(biāo)志時(shí)會(huì)發(fā)生什么

然后,在啟用所謂的“比賽檢測(cè)器”的情況下構(gòu)建程序。數(shù)據(jù)競(jìng)賽是一種編程錯(cuò)誤,任何具有數(shù)據(jù)競(jìng)賽的程序都是無效的,其行為是未定義的。切勿使用數(shù)據(jù)競(jìng)跑編寫代碼。

數(shù)據(jù)競(jìng)賽是指兩個(gè)或多個(gè) goroutine 在沒有正確同步的情況下讀取和寫入同一內(nèi)存。數(shù)據(jù)競(jìng)賽時(shí)有發(fā)生,但這是程序員的一個(gè)主要錯(cuò)誤。

競(jìng)速檢測(cè)器檢測(cè)到對(duì)同一存儲(chǔ)器的未同步讀/寫,并將其報(bào)告為故障(確實(shí)如此)。請(qǐng)注意,如果 race 檢測(cè)器檢測(cè)到數(shù)據(jù)競(jìng)跑,即使它在沒有 -race 的情況下“正?!边\(yùn)行,您的代碼是錯(cuò)誤的。

競(jìng)態(tài)檢測(cè)器并不總是打開,因?yàn)闄z測(cè)數(shù)據(jù)競(jìng)跑會(huì)大大減慢執(zhí)行速度。


查看完整回答
反對(duì) 回復(fù) 2022-08-15
  • 1 回答
  • 0 關(guān)注
  • 126 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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