go语言中的原子操作
来源:10-1 goroutine

qq_白澤_0
2020-06-08
课外接触到一些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
012020-06-17
相似问题