关于java多线程synchronized和CopyOnWriteArrayList的几个问题,求高人挑战
三分烤牛排 2017-03-01 07:40:38 1.很多的帖子都说synchronized在并发度比较高的情况下性能不如reentrantlock,主要原因是什么呢?两者本质上都是用jvm实现的难道不是吗?
2.既然synchronized在性能上一般不优于reentrantlock,而且reentrantlock性能更全,为什么提倡使用synchronized?我不觉得是使用难度或者代码可读性的问题,这两点凭能力完全可以克服。
3今天看了下CopyOnWriteArrayList的具体实现,测试了下类似于Vector,如果在使用不当的情况下依然会发生并发问题。而且这些问题不是内部实现可以解决的,只能依赖程序员自己控制解决。既然这样CopyOnWriteArrayList实现的意义又在哪里呢?
多喝水,多思考。