|
1
10
您不需要同步来访问
当要访问的变量
这在实践中意味着什么?
如果您有一个函数接收
作为计数器示例,如果函数接收到一个切片值
请参见此示例:
输出(在 Go Playground ):
专注于
现在如果
见相关/可能的副本: Immutable string and pointer address |
|
2
3
在语言语法级别或标准库中对字符串类型定义的所有函数都返回一个新的字符串实例。没有一个函数在适当的位置改变字符串。只要遵循这个实践,您就可以同时获得安全。 |
|
|
3
1
这就是问题所在。答案是:写字符串时同步。很明显
go编译器将强制
输出:
Go运行时
Data Race Detector
标记可变的不一致状态
输出:
原岗位:
一
例如,
输出:
这个
需要同步才能访问字符串变量。 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
H3007 · 并发运行python子进程似乎不是并发的 1 年前 |
|
|
The Oddler · TVar会阻止读取直到更改吗? 1 年前 |
|
|
Wang Tuma · 使用信号量的c++并发问题:按顺序打印 2 年前 |
|
|
Marcel Batista · 在不同线程中更新密钥时的字典线程安全 2 年前 |
|
|
rico · 当volatile关键字真的是必要的? 2 年前 |