猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
在Go中使用渠道是否对性能有好处?
我想知道通道是否足够有效,可以用作编写Go程序的一部分。
肥皂起泡泡
浏览 173
回答 3
3回答
长风秋雁
Go中的通道不是函数,它们是原始类型,即所谓的语言的一等公民。与信号量(即互斥量)相比,强烈建议使用通道,因为正确使用通道后,它们可以非常高效地序列化并发访问。Go肯定会胜过任何解释的动态语言,并且比许多编译语言更好地处理并发。还有一些用例不足,例如在火箭控制器等中,Go仍然不够用,但对于普通的实际应用而言,Go无疑是周围最快,最灵活的语言之一。
0
0
0
DIEA
一般而言,是的,频道很快,但是我们在不了解程序的情况下无法告诉您是否应该使用它。我会说这部分不是建设性的。至于实现,将Go与源代码一起安装时可用。找个例子src/pkg/runtime/chan.c。大多数Go并发程序都依赖于渠道。如果您想用Go编写代码并执行并发任务,我会说您几乎别无选择:使用通道,配置文件,并查看是否存在与通道相关的问题。
0
0
0
qq_笑_17
您的问题很奇怪,因为很明显许多Go程序确实有效地使用了通道,因此答案是肯定的。但我认为您可能意味着:对于我的用例而言,渠道是否足够有效?如果您可以详细说明您的程序应该做什么,那么我可以给您一个更好的答案。对于它的价值,我使用Go编写了许多高性能程序,这些程序需要在相似数量的goroutine之间进行通信的通道很多(从数十个到数百个)。是的,它们总体上效率很高。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Go
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续