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

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

為什么它不能打印值或替代

為什么它不能打印值或替代

Go
烙印99 2022-08-01 10:15:38
我寫了一個(gè)退出和同步隊(duì)列通道預(yù)期打印如下,但沒(méi)有發(fā)生,將g1或g2打印值連續(xù)按兩個(gè)我知道無(wú)緩沖通道同步規(guī)則,但似乎我誤解了它g1 0 g2 1 g1 1g2 1g1 2g2 2package mainimport (    "fmt")func main() {    exit := make(chan struct{})    transfer := make(chan int)    go func() {        defer func() {            close(exit)        }()        for i := 0; i < 20; i++ {            transfer <- i            fmt.Println("g1\t", i) // 1        }    }()    go func() {        for i := 0; i < 20; i++ {            <-transfer            fmt.Println("g2\t", i) // 3  4        }    }()    <-exit}
查看完整描述

2 回答

?
胡說(shuō)叔叔

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

因此,當(dāng)您使用無(wú)緩沖通道時(shí),它是阻塞交易;發(fā)生的事情是go例程在某個(gè)點(diǎn)停止并且需要執(zhí)行事務(wù);一旦交易發(fā)生;兩個(gè) go 例程現(xiàn)在都可以向前移動(dòng),調(diào)度程序需要決定哪個(gè) go 例程將首先運(yùn)行 g1 和 g2 以相同的順序打印不是 100%的可能性。


查看完整回答
反對(duì) 回復(fù) 2022-08-01
?
元芳怎么了

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

那是因?yàn)檫@里有數(shù)據(jù)。

你不能確定在之后和之前不應(yīng)該有上下文切換到另一個(gè)例程。transfer <- ifmt.Println("g1\t", i) // 1

因此,如果您希望這是原子的,則應(yīng)在此處添加另一種同步機(jī)制


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

添加回答

舉報(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)