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

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

無(wú)法獲得與 Go 書中的并發(fā)性相同的結(jié)果示例代碼

無(wú)法獲得與 Go 書中的并發(fā)性相同的結(jié)果示例代碼

Go
慕田峪7331174 2022-08-09 20:45:27
我正在閱讀 Katherine Cox-Buday 的《Concurrency in Go: Tools and Techniques for Developers》。到目前為止,我讀起來(lái)很棒,在書中偶然發(fā)現(xiàn)了一個(gè)我想測(cè)試的代碼塊。當(dāng)我在IDE中運(yùn)行它時(shí),我得到了不同的結(jié)果,我不知道為什么。這是代碼:package mainimport ("fmt""sync")func main() {var count intvar lock sync.Mutexincrement := func() {    lock.Lock()    defer lock.Unlock()    count++    fmt.Printf("Incrementing: %d\n", count)}decrement := func() {    lock.Lock()    defer lock.Unlock()    count--    fmt.Printf("Decrementing: %d\n", count)}// Incrementvar arithmetic sync.WaitGroupfor i := 0; i <= 5; i++ {    arithmetic.Add(1)    go func() {        defer arithmetic.Done()        increment()    }()}// Decrementfor i := 0; i <= 5; i++ {    arithmetic.Add(1)    go func() {        defer arithmetic.Done()        decrement()    }()}arithmetic.Wait()fmt.Println("Arithmetic complete.")}我得到這個(gè)結(jié)果:$ go run main.goIncrementing: 1Incrementing: 2Incrementing: 3Incrementing: 4Incrementing: 5Incrementing: 6Decrementing: 5Decrementing: 4Decrementing: 3Decrementing: 2Decrementing: 1Decrementing: 0Arithmetic complete.而在書中,我應(yīng)該有這樣的結(jié)果:Decrementing: -1Incrementing: 0Decrementing: -1Incrementing: 0Decrementing: -1Decrementing: -2Decrementing: -3Incrementing: -2Decrementing: -3Incrementing: -2Incrementing: -1Incrementing: 0Arithmetic complete.有人可以為我澄清一下嗎?
查看完整描述

1 回答

?
冉冉說(shuō)

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

對(duì)goroutines的運(yùn)行順序沒(méi)有保證。根據(jù)運(yùn)行時(shí)調(diào)度它們的方式,當(dāng)您多次運(yùn)行程序時(shí),goroutines 可以以不同的順序運(yùn)行。您觀察到的輸出似乎是 goroutine 的有效交錯(cuò)之一,而本書僅列出了一個(gè)可能的輸出。


查看完整回答
反對(duì) 回復(fù) 2022-08-09
  • 1 回答
  • 0 關(guān)注
  • 81 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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