xuanyu66@xuanyu66
镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。
“欧克克 【 在 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”字符串,…”
订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。