ArrayList和LinkedList是不是线程安全的,如果不是,怎么变安全?
1 、两者都不是线程安全的,如果这两个对象的内存空间被多线程共享,而会出现一个线程正在修改数值的时候,被另外一个线程读到原来的值。也就是经常说的“脏读”。
另外,ArrayList在内存不足时,会发生扩容,扩容时多线程的读写都会存在问题。
2、 变成多线程安全,有两种方案
(1)使用容易提供的同步方法Collections.synchronizedList(new LinkedList())。每次在写入的时候,锁住临界区,保证数据的一致性
(2)使用线程安全的vector等对象
都是非线程安全的,并且被推荐使用Collections.syschronizedList()来进行同步控制.
都不安全。
列举一款你常用的移动APP,并分析他的最核心功能、满足的需求、超预期的功能以及竞争优势和发展趋势
B2C网站上促销价格出错了,如何做危机公关?
什么是 Cookie?它的作用是什么?
ArrayList和LinkedList的区别,以及各自是怎么实现扩容的?
都是非线程安全的,并且被推荐使用Collections.syschronizedList()来进行同步控制.
都是非线程安全的,并且被推荐使用Collections.syschronizedList()来进行同步控制.
都是非线程安全的,并且被推荐使用Collections.syschronizedList()来进行同步控制.
都不安全。