标签: go concurrency
这可以安全使用吗?如果读取例程读取部分更新的数组并不重要,但我需要它来保持所有值的完整性。所有3个例程都在循环中运行
var arr [100]byte go ReadFrom(arr) go ReadFrom(arr) go WriteTo(arr)
答案 0 :(得分:2)
@Pownyan,不,不安全,正如JimB在评论中提到的那样。您需要使用互斥锁才能确保安全:https://golang.org/pkg/sync/#Mutex
示例:https://gobyexample.com/mutexes
答案 1 :(得分:0)
不,它不安全,您需要使用sync软件包Mutex或Waitgroup取决于解决方案流的类型,我建议使用Mutex,因为它比其他{更便宜}基于{1}}的解决方案。
Waitgroup
Mutex
请查看示例here。