请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

go语言中的原子操作

课外接触到一些atomic/mutex的问题。大多数提倡atomic锁取代mutex。
对原子操作本身不是很理解,atomic主要是用在goroutine中防止被打断的值操作?
是不是一般在goroutine内修改外数值都用原子操作?

正在回答

1回答

atomic的确用在防止值操作被打断,保证其原子性。

关于使用atomic还是需要具体问题来分析,不过大体来说,提倡用goroutine和channel来解决并发问题,而不是atomic/mutex。而atomic/mutex之间的应用场景不同,atomic的场景很局限,http://docscn.studygolang.com/pkg/sync/atomic/ 

我们可以看一下atomic的文档,能用到这里面的函数解决的,那最好,我们就不考虑mutex。如果不能,或者不是直接用atomic解决,而是要用一堆atomic操作,涉及很多变量,才能完成的并发任务,就考虑mutex

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_白澤_0 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-06-17 09:46:27
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号