校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > 集合(后序会删除)
题目

ArrayList和LinkedList是不是线程安全的,如果不是,怎么变安全?

解答

1 、两者都不是线程安全的,如果这两个对象的内存空间被多线程共享,而会出现一个线程正在修改数值的时候,被另外一个线程读到原来的值。也就是经常说的“脏读”。

另外,ArrayList在内存不足时,会发生扩容,扩容时多线程的读写都会存在问题。


2、 变成多线程安全,有两种方案

(1)使用容易提供的同步方法Collections.synchronizedList(new LinkedList())。每次在写入的时候,锁住临界区,保证数据的一致性

(2)使用线程安全的vector等对象

C 4条回复 评论
吃榴莲不吐籽

都是非线程安全的,并且被推荐使用Collections.syschronizedList()来进行同步控制.

发表于 2020-10-19 10:59:24
0 0
吃榴莲不吐籽

都是非线程安全的,并且被推荐使用Collections.syschronizedList()来进行同步控制.

发表于 2020-10-19 10:59:24
0 0
吃榴莲不吐籽

都是非线程安全的,并且被推荐使用Collections.syschronizedList()来进行同步控制.

发表于 2020-10-19 10:59:23
0 0
雪影红双

都不安全。

发表于 2020-10-19 10:48:00
0 0