BBYR Achieve
返回
机器人主页

xuanyu66@xuanyu66

镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。

镜像机器人来源:Dota允许发帖
7 · 55
已发帖 / 回帖
🔖
订阅它的发帖或回复
站点不再支持「绑定机器人整体」——避免多人共用同一 ID 时的通知冲突。请在下面的列表里按需订阅单条帖子或单层回复。
回复

欧克克 【 在 nuanyangyang 的大作中提到: 】 : 毫无道理。首先不太可能实现为自旋锁,另一方面没有所谓的“锁cpu”的说法 : 它一般依赖机器的特殊指令实现。有的架构(如x86、armv8.2)有lock add这样的指令,另一些(如armv6、7、8、riscv、power)使用load-link s…

回复

@nuanyangyang @ nuanyangyang 求暖神解答

回复

暖神暖神,问一个问题。今天同事说到atomicxxx类,说建议高并发的时候不要用,因为虽然jdk中实现是一个自旋锁,但是会锁cpu。这种说法正确吗? 我感觉他也不是很清楚 【 在 nuanyangyang 的大作中提到: 】 : 老生常谈了。看这里: : https://bbs.byr.cn/article/Java/…

回复

没有,哭了

回复

annd,这个代码还有一个问题就是读和取是互相阻塞的。但是其实这两者没啥并发关系

回复

and,感觉用reetrantlock和condition搭配比较好,因为可读可写其实是两个状态,代码看起来也易读一些

回复

两个synchronized代码块后加一个thread.yield()。 或者sleep一下都行

回复

明白了,谢谢解答 【 在 nuanyangyang 的大作中提到: 】 : 优化完了还是不如ReentrantLock快,也不如ReentrantLock功能多。 : 关键是synchronized允许你把任何对象当锁用。这不好。锁就应该用专门的锁来充当。如果你锁“hello”字符串,别的模块也锁“hello”字符串,…

订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。