arraylist线程不安全的例子
时间: 2023-08-23 13:08:17 浏览: 47
好的,关于 ArrayList 线程不安全的例子,我们知道 ArrayList 是非线程安全的,当多个线程同时对它进行添加、删除等操作时,可能会导致数据出现错误。比如下面这个例子:
```java
import java.util.ArrayList;
public class UnsafeArrayList {
private static ArrayList<Integer> list = new ArrayList<>();
public static void main(String[] args) {
for (int i = 0; i < 1000; i++) {
new Thread(() -> {
list.add(1);
}).start();
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(list.size());
}
}
```
在这个例子中,我们使用了多个线程对 ArrayList 进行添加操作,由于 ArrayList 是非线程安全的,因此可能会导致数据出现错误,比如最终的 list.size() 的值可能小于 1000。
希望这个例子能够对您有所帮助。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)