伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

2021-03-06:go中,公共变量是协程安全吗?赋值操作是原子的吗?为什么?

来源:本站原创 浏览:112次 时间:2022-09-15

2021-03-06:go中,公共变量是协程安全吗?赋值操作是原子的吗?为什么?

福哥答案2021-03-06:

这是面试中被问到的。实力有限,真正的答案还不知道。我的想法是a=1是原子操作,a=b不是原子操作。实际开发中,不大可能是a=1这种情况,可以说是协程不安全。

答案1:
不是协程安全的,
赋值非原子操作,
需要加锁要么就做原子操作,
否则会引起data race。

评论如下:
题016_
卓熊 7:39:15
Go很多操作并没有做太多处理,还是沿用了c。所以公共变量非协程安全,赋值操作是否原子跟变量类型及机器架构有关(指令集)。

直接来我家-勤心 10:54:22
正常上班

题000_leetcode讨论群
刷题菜鸡 9:50:47
Io密集型调大并发数不会提升太高性能

刷题菜鸡 9:50:56
因为都在等…

陌兮 9:55:19
这时候公用buffer,适量减少线程切换才正确

成都-似杏而酢 14:49:42
暴力枚举咯

成都-似杏而酢 14:49:53
这才多少点多少边嘛

葡萄❤柠檬 16:06:34
适量调大是有用的

葡萄❤柠檬 16:06:47
为什么io密集型,线程数是2倍呢?

你撤回了一条消息

葡萄❤柠檬 16:07:18
如果没用,那就应该是cpu核心数

葡萄❤柠檬 16:07:31
只是不能调得太大

成都-似杏而酢 16:21:55
SSD 的并发不挺好呢么

1711680493.github.io 16:28:09
今天的每日一题是我过的最快的一次

题078_
Tnze 10:27:04
公共变量不是协程安全的,赋值操作不是原子的

Tnze 10:27:45
这是由于线代多核cpu中变量可能会储存在不同核心各自的cache上

Tnze 10:29:05
需要原子操作一定要用sync包

题029_
【新手】SQL双活负载均衡集群 7:48:53
2倍就是一个估计而已,2.5倍,1.8倍,甚至3倍,效果都一样

【资深】葡萄❤柠檬 8:02:30
所以有用啊

【资深】葡萄❤柠檬 8:02:43
go中默认只是cpu的核心数

【资深】葡萄❤柠檬 8:02:53
也就是说,可以调大

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net