同步容器
通过synchronized保证同一时刻内只有一个线程在使用容器,从而使得容器线程安全。synchronized的意思是同步,它体现在将多线程变为串行等待执行。复合操作不能保证线程安全。
常见的同步容器:HashTable, Vector
并发容器
允许多线程同时使用容器,并且保证线程安全。核心:锁、CAS(乐观锁)、COW(读写分离)、分段锁。
常见的并发容器:ConcurrentHashMap、CopyOnWriteArrayList
在并发场景中,建议直接使用java.util.concurent包中提供的容器类,如果需要复合操作时,建议使用有些容器自身提供的复合方法。
同步容器如HashTable和Vector使用synchronized确保线程安全,但可能降低并发性能。并发容器如ConcurrentHashMap和CopyOnWriteArrayList则设计为多线程环境下高效安全使用,采用锁、CAS等技术。在并发场景中推荐使用并发容器,尤其是需要复合操作时,利用其内置方法更优。
1万+

被折叠的 条评论
为什么被折叠?



