V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Orlion  ›  全部回复第 2 页 / 共 2 页
回复总数  30
1  2  
2021-03-26 21:13:37 +08:00
回复了 RedBlackTree 创建的主题 程序员 请教大家关于多核并发编程中, cache 一致性的问题
4 楼正解。正好前段时间我也深入研究了这个问题,并且整理成了一篇博客: https://blog.fanscore.cn/p/34/ 楼主可以参考下,或许对你有帮助😄
2021-03-20 18:25:44 +08:00
回复了 xuletter2021 创建的主题 Go 编程语言 golang 协程读写上下文变量 一直为 0
@xuletter2021 确实结果一样,不过关闭优化前后打印汇编结果还是有区别的,虽然关闭优化后的 go 出来的函数中还是没有 x++对应的汇编代码(不太能理解的...)。

下面是我的猜测:

在 1.14 之前协程调度是出让式而非抢占式的,如果这段代码在单核机器上运行,就有可能陷入到 for {...}的死循环中而主协程中的代码得不到调度执行,而你 for 循环中加入了 fmt.Pxxx 类的代码就能够使子协程出让执行权。

另外这段代码还有可见性问题,子协程对全局变量的修改,主协程可能是看不到的。

基于上面两个问题的考虑,编译器做出了“错误”优化,导致了你所看到的结果。
2021-03-20 16:21:17 +08:00
回复了 xuletter2021 创建的主题 Go 编程语言 golang 协程读写上下文变量 一直为 0
你关闭优化跑一遍看看是不是出来了?😂
2021-03-08 23:04:20 +08:00
回复了 BinYang 创建的主题 Java 咨询一个 redis 穿透的问题,看看大佬有什么解决方案没有
7 楼回复应该是个很常见的设计,我司 redis 就分为缓存(不需要持久化,所有 key 都有过期时间)与持久化数据两种实例,楼主可以做个参考。如果麻烦的话,可以考虑该场景能否使用 bitmap 来做过滤
2021-01-14 18:51:15 +08:00
回复了 Orlion 创建的主题 汇编 Lock 指令到底有什么用?
@yzbythesea 感谢提醒,突然意识到了
2021-01-14 13:37:58 +08:00
回复了 Orlion 创建的主题 汇编 Lock 指令到底有什么用?
@yzbythesea CPU 操作 L3 cache 上同一个 cacheline 同一位置数据,不加 Lock 就不是原子的,这样理解吗?如果不加 Lock 也是原子的,那 CPU 没必要锁吧
2021-01-14 12:11:17 +08:00
回复了 Orlion 创建的主题 汇编 Lock 指令到底有什么用?
@Jooooooooo lock 与寄存器无关
2017-04-23 23:04:02 +08:00
回复了 spice630 创建的主题 分享创造 #开源项目#wechat-go 微信机器人/web 协议
@ob 好像是会换了,忘记了😄
2017-04-22 19:38:02 +08:00
回复了 spice630 创建的主题 分享创造 #开源项目#wechat-go 微信机器人/web 协议
用 golang 快写完了突然发现还不如用 java 写,方便在安卓上跑😏。
2017-04-02 10:14:02 +08:00
回复了 zgqq 创建的主题 Linux 如果有一个这样的笔记本多好啊
lg gram 续航好像不错,还特别轻薄。
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2301 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 09:50 · PVG 17:50 · LAX 02:50 · JFK 05:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.