Redian新闻
>
为啥Golang的sharing memory by communication 效率更高
avatar
为啥Golang的sharing memory by communication 效率更高# Programming - 葵花宝典
s*k
1
在两个goroutine互相通信时候,sender把msg送到receiver之前,两者都没法做事,这
个原理上听起来跟lock也差不多,为什么效率高?
avatar
i*l
2
既然是 coroutine ,所谓 block 其实也是 yield 出去了,不是真 block。thread 的
lock 是真 block 住。

【在 s********k 的大作中提到】
: 在两个goroutine互相通信时候,sender把msg送到receiver之前,两者都没法做事,这
: 个原理上听起来跟lock也差不多,为什么效率高?

avatar
s*k
3
但是用unblocking 的multi threading 也差不多效果吗?比如conditional variable
之类?这个用channel communication在design上好处在?
avatar
m*p
4
1. 編程效率高,blocking不容易出錯。。。
2. 底層用futex實現,目前效率最高,普通userspace lock有十多種,性能各異,
futex是最快的接口

【在 s********k 的大作中提到】
: 在两个goroutine互相通信时候,sender把msg送到receiver之前,两者都没法做事,这
: 个原理上听起来跟lock也差不多,为什么效率高?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。