亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Go并發之魂:Goroutine深入淺出【程序人生中的“米其林三星級”并發實戰】

凰凰 架構師
難度初級
時長 1小時58分
學習人數
綜合評分8.33
8人評價 查看評價
8.5 內容實用
8.5 簡潔易懂
8.0 邏輯清晰

最新回答 / 慕虎4228555
這是因為ch<- 1 這個操作,是阻塞操作,就是說 遇到了 a<-1 代碼就不走了,什么時候代碼往下走?必須等到ch里面的消息被讀出去才會繼續走可以簡單改為:
ch?:=?make(chan?int)

//?fmt.Println(ch)
go?func()?{
???ch?<-?1
}()

//?輸出channel

go?func()?{

???fmt.Println(<-ch)

}()
time.Sleep(time.Second*2)

最新回答 / 慕夢前來
你用你的想法用代碼來試一下比對一下吧

講師回答 / 凰凰
小伙伴客氣啦!其實流水線形式也是可以的,這里只是提供了一種可能的案例在提問中提到的流水線形式,可能會存在一種,由于頻繁使用channel傳輸數據的形式,而造成一定程度的額外耗時所以我們在設計并發代碼的時候,在某些為了通過并發加速計算的場景下,通常會盡可能地避免使用到channel

講師回答 / 凰凰
?抱歉,沒理解你的意思,能否給點提示?
課程須知
1、學前掌握基本的Go語法基礎
老師告訴你能學到什么?
1. multi-goroutine核心機理、使用場景、局限性、如何管理 2. 協程生命周期、多并發通用設計+實戰 3. channel使用、資源爭搶 4. channel阻塞:概念+觸發條件+實際開發場景+避免方法 5. goroutine高頻面試題+面試思路點撥 6. 如何白板寫goroutine并發面試代碼與注意事項

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消