V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  sunny352787  ›  全部回复第 5 页 / 共 35 页
回复总数  688
1  2  3  4  5  6  7  8  9  10 ... 35  
CPU <— > 寄存器<— > 缓存<— >内存

在使用高级语言编写程序的时候,锁的影响范围是内存这一级别,包括 atomic 处理数据也是保证内存数据一致
而多线程语句会在 CPU 这个层级进行,所以如果不加锁或者其他类型的“屏障”,即便是 i++这种看起来最简单的语句在汇编层面也是好几句处理,这就会出现 CPU0 和 CPU1 拿到的数据不一致的问题
具体到这段代码来看,channel 事实上已经在“内存”这一级别进行了锁操作,那么在不同的 CPU 上获取到的锁之前的数据当然就是一样的,因为都是从内存重新拿的

顺便,这里也能看到锁这类操作“很重”的原因,就是要经历上面内存->缓存->寄存器->CPU 这一整套过程
老弟啊,咱们写程序修改的变量都是在内存里的呀,谁去管缓存干什么了,修改了那对所有的线程都是可见的呀,多线程会出现的问题是修改一个变量的顺序,而不是修改完不给别人...
从头开发的话我建议 Unity ,另外国内所有的游戏引擎,包括但不限于 cocos2d-x 系列、laya 、egret 等,都有各种奇葩问题,基本跨版本都不兼容,老版本没有新系统兼容性支持,文档不全( laya 居然故意埋坑让你付费咨询),做两年不做了等等问题,除非你有能力去处理引擎的问题,不然还是 Unity 吧,现在微信小游戏也支持 Unity ,没什么必要浪费时间去用别的
哪有那么复杂,就是 c 在这里锁住了当前线程不执行 print 而已,你这里的 c 是阻塞 channel ,不是非阻塞 channel ,阻塞 channel 的读取和输入你可以看作是一个操作或者类似一次函数调用,没有读取就会卡在输入这端
MD ,路过还能被电子脚踹一下...
建议不要来
108 天前
回复了 diku 创建的主题 耳机 五百以下没有值得入手的耳机!我说的!
你说的对!(结贴)
我目前的税率是 20%,个人养老金交满的话是 12000 ,也就是说如果我不交个人养老金的话,我每年的个税会多 2400 。
我的处理方式是 10000 定存,2000 基金,赔光了的话我也至少比不交多 10000*3.x%/年+400 的收入,反正这一万多块也不影响什么,稍微有点赚头更好
111 天前
回复了 yongliang 创建的主题 Android 各位大佬给推荐个手机吧
女孩子的手机建议存储空间大一些,因为拍照会很多,vivo x100 的话这个价位容量可能不够
嗯,已经把一加 12 退了
112 天前
回复了 Heimerdinger 创建的主题 加密货币 贷了 20 万梭哈,不知道选什么币
这哪是要结束这种生活,这是要结束生命啊...
112 天前
回复了 yiboliu 创建的主题 Android 谁有李跳跳的安装包呀?
@PrinceofInj 那说明 gkd 确实不如李跳跳方便好用啊
113 天前
回复了 yiboliu 创建的主题 Android 谁有李跳跳的安装包呀?
亲测 gkd 不如李跳跳,下厨房 app 的开屏 gkd 跳不过去,李跳跳可以
@Chayebao 数据岗跟游戏又没啥关系,你喜欢游戏也没啥用呀,数据和研发是俩部门基本也就是文档交互,倒是肯定没有研发累
120 天前
回复了 batchfy 创建的主题 Docker Docker 微服务应用如何高效部署更新?
@batchfy 我想你理解错了 docker 的用法了,你的这三个环境实际上不需要编译三遍 image ,而是一个 image 这三个环境使用,develop 开发完毕通知 test 拉取镜像测试,test 通过之后 prod 拉取同一个镜像上线,而且由于是分层的,所以未改变的层是不会重复拉取的
有啥想不开要来游戏公司,这逼班一天天的谁 TM 爱上...
122 天前
回复了 yujianwjj 创建的主题 Go 编程语言 go module 依赖的问题
在每个 module 的 go.mod 里加上对应的版本就行了
122 天前
回复了 taosimple 创建的主题 程序员 把星星装在瓶子🫙里,程序怎么实现?
unity 里直接用 mesh 碰撞做,做个瓶子模型然后把星星丢进去就行了
1  2  3  4  5  6  7  8  9  10 ... 35  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3289 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 39ms · UTC 14:09 · PVG 22:09 · LAX 07:09 · JFK 10:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.