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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Go中使用渠道是否對性能有好處?

在Go中使用渠道是否對性能有好處?

Go
肥皂起泡泡 2021-05-09 16:57:03
我想知道通道是否足夠有效,可以用作編寫Go程序的一部分。
查看完整描述

3 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

Go中的通道不是函數,它們是原始類型,即所謂的語言的一等公民。

與信號量(即互斥量)相比,強烈建議使用通道,因為正確使用通道后,它們可以非常高效地序列化并發訪問。

Go肯定會勝過任何解釋的動態語言,并且比許多編譯語言更好地處理并發。還有一些用例不足,例如在火箭控制器等中,Go仍然不夠用,但對于普通的實際應用而言,Go無疑是周圍最快,最靈活的語言之一。


查看完整回答
反對 回復 2021-05-17
?
DIEA

TA貢獻1820條經驗 獲得超2個贊

一般而言,是的,頻道很快,但是我們在不了解程序的情況下無法告訴您是否應該使用它。我會說這部分不是建設性的。

至于實現,將Go與源代碼一起安裝時可用。找個例子src/pkg/runtime/chan.c。

大多數Go并發程序都依賴于渠道。如果您想用Go編寫代碼并執行并發任務,我會說您幾乎別無選擇:使用通道,配置文件,并查看是否存在與通道相關的問題。


查看完整回答
反對 回復 2021-05-17
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

您的問題很奇怪,因為很明顯許多Go程序確實有效地使用了通道,因此答案是肯定的。但我認為您可能意味著:對于我的用例而言,渠道是否足夠有效?如果您可以詳細說明您的程序應該做什么,那么我可以給您一個更好的答案。

對于它的價值,我使用Go編寫了許多高性能程序,這些程序需要在相似數量的goroutine之間進行通信的通道很多(從數十個到數百個)。是的,它們總體上效率很高。


查看完整回答
反對 回復 2021-05-17
  • 3 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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