synchronizedList得到的是同步的容器,和非同步的容器到底有什么区别???
re:返回的List是同步的。
我看见文档说synchronizedList后还是要synchronized块操作
re:只有对这个List顺序访问的时候才需要synchronized。建议阅读英文原版的JDK说明。中文翻译有歧义!
这句话不是就相当于说明已经进行了synchronized块操作了么?为什么还是需要synchronized块操作?
re:建议阅读英文原版的JDK说明。中文翻译有歧义!
3...这样实现了还需要synchronized块操作么?
re:不需要
4.是对 Map 的线程安全的实现,比起 synchronizedMap 来,它提供了好得多的并发性
re:请仔细看看措辞,“实现”,“并发性”。他们的意思是,语义上,他们是等价的,都是线程安全的;但是新的ConcurrentHashMap实现上效率更高,因为它的实现上做了一些优化。
我现在是这样理解的。对于任何线程安全的容器来说(不管原来的还是新加的),都不可能实现使用迭代器时候的线程安全,只能保证容器的方法,比如插入和删除的线程安全。
是不是这个意思?
re: 对!
后面的新加的,不管原理如何,都是一样的意义:线程安全,不过在执行效率方面有区别。
re:基本是这个意思!只是效率不仅体现在“写”上,而且体现在“读”上,甚至很多时候读的效率才是表现整体效率的主要因素
re:返回的List是同步的。
我看见文档说synchronizedList后还是要synchronized块操作
re:只有对这个List顺序访问的时候才需要synchronized。建议阅读英文原版的JDK说明。中文翻译有歧义!
这句话不是就相当于说明已经进行了synchronized块操作了么?为什么还是需要synchronized块操作?
re:建议阅读英文原版的JDK说明。中文翻译有歧义!
3...这样实现了还需要synchronized块操作么?
re:不需要
4.是对 Map 的线程安全的实现,比起 synchronizedMap 来,它提供了好得多的并发性
re:请仔细看看措辞,“实现”,“并发性”。他们的意思是,语义上,他们是等价的,都是线程安全的;但是新的ConcurrentHashMap实现上效率更高,因为它的实现上做了一些优化。
我现在是这样理解的。对于任何线程安全的容器来说(不管原来的还是新加的),都不可能实现使用迭代器时候的线程安全,只能保证容器的方法,比如插入和删除的线程安全。
是不是这个意思?
re: 对!
后面的新加的,不管原理如何,都是一样的意义:线程安全,不过在执行效率方面有区别。
re:基本是这个意思!只是效率不仅体现在“写”上,而且体现在“读”上,甚至很多时候读的效率才是表现整体效率的主要因素