List中:
Vector:线程安全,是长度可变的数组
ArrayList:线程不安全的,他的线程安全替代是Vector
如何将ArrayList升级为线程安全的List:
ArrayList升级为线程安全的List 实例
具体实现代码如下,使用Collections工具类进行升级,如下:
package com.yang.concurrent;import java.util.ArrayList;import java.util.Collections;import java.util.List;/*** 本实例演示ArrayList升级为线程安全的List*/public class SyncArrayList {public static void main(String[] args) {List<Integer> list= Collections.synchronizedList(new ArrayList<>());list.add(1);System.out.println(list.get(0));}}
通过加锁的方式进行:
由此我们可知:ArrayList包装成线程安全的List后,和Vector的性能差不多。
Map:
HashMap:线程不安全的,他的线程安全的替代是HashTable
或者是currenthashmap,也是线程安全的
HashTable:HashTable是线程安全的,它给几乎所有public方法都加上了synchronized关键字
如果觉得《线程安全集合类》对你有帮助,请点赞、收藏,并留下你的观点哦!