关于java多线程synchronized和CopyOnWriteArrayList的几个问题,求高人挑战

三分烤牛排 2017-03-01 07:40:38
1.很多的帖子都说synchronized在并发度比较高的情况下性能不如reentrantlock,主要原因是什么呢?两者本质上都是用jvm实现的难道不是吗?


2.既然synchronized在性能上一般不优于reentrantlock,而且reentrantlock性能更全,为什么提倡使用synchronized?我不觉得是使用难度或者代码可读性的问题,这两点凭能力完全可以克服。

3今天看了下CopyOnWriteArrayList的具体实现,测试了下类似于Vector,如果在使用不当的情况下依然会发生并发问题。而且这些问题不是内部实现可以解决的,只能依赖程序员自己控制解决。既然这样CopyOnWriteArrayList实现的意义又在哪里呢?


多喝水,多思考。
...全文
213 2 打赏 收藏 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
三分烤牛排 2017-03-27
  • 打赏
  • 举报
回复
楼上的显然没有明白我的意思,求真诚的答案。
LS1firesoar 2017-03-02
  • 打赏
  • 举报
回复
1、原理比较复杂 自己去百度,很多资料。至于你说 两者本质上都是用jvm实现的难道不是吗? 宝马和QQ都是烧油的,能一样吗? 2、为什么提倡使用synchronized? 那是以前,现在谁跟你提倡就是觉得你水平不行,当然他自己也是渣。 3、实在不懂你的意思

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧