1. 首页
  2. 主题
  3. Go问与答

go routine同时操作同一个结构体会有问题吗?

gojuukaze · · 2368 次点击
go routine同时对同一个结构的不同字段赋值会不会出问题, 大概像这样 ```go type AA struct { A int B int } a:=AA{} go func() { a.A=1 }() go func() { a.B=2 }() ```
如果只读是没问题的, 写的话有问题.
#3
更多评论
这个是全局变量,整个包内共享,多个goroutine同时操作不是线程安全的,有这种情况建议加锁
#1
一般map和slice才会有问题, map会直接崩,slice虽然不会崩,但是数据可能会丢失
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中