上锁的方法
同步代码块
ReentrantLock锁
读写锁
因为引入锁 所有有一些集合是线程安全的
线程安全的集合
Vector:线程安全 但是读读阻塞 读写阻塞 写写阻塞 效率低下
ConcurrentHashMap:线程安全 采用同步代码块分段上锁 因为上锁 导致效率比HashMap低下
CopyOnWriteArrayList:线程安全 通过复制一个副本 进行写操作 读的时候从正品里面读 写在副本里面写 实现线程安全
CopyOnWriteArraySet:线程安全 在上面一个基础上有去重性
线程不安全的集合
ArrayList
HashMap