回答·8
最热
最新
- go 并发安全性分析,建议去学习 GMP 原理,学完就什么都明白了
- 不是协程安全的, 赋值非原子操作, 需要加锁要么就做原子操作, 否则会引起 data race
- 当然不是了。详细的自行 Google.
- 不是协程安全的,要加锁
- 1.非线程安全 1.是不是原子操作得看变量类型大小
- 公共区域的只有不变量才是线程安全的,也就是常量,所有的常量不怕多线程同时操作,如果是变量必须赋予锁才能保证线程安全。
- 不是携程安全,也不是原子操作
- 公共变量不是协程安全的,得加互斥锁 赋值操作都是原子的,但是多协程同时对一个变量赋值时,就会出现竞争关系。为了避免数据竞争和确保协程安全,go 提供互斥锁和读写互斥锁