ConcurrentModificationException:

Feb 09 2023
Phương pháp chính là cố gắng thêm các số nguyên vào danh sách. Trong phương thức chính, chúng tôi bắt đầu luồng con.

Phương pháp chính là cố gắng thêm các số nguyên vào danh sách.

Trong phương thức chính, chúng tôi bắt đầu luồng con. I E

t.bắt đầu()

Hiện tại, chúng tôi có 2 luồng vào quy trình.

Bây giờ, luồng chính đang cố gắng lặp lại các phần tử của danh sách và trong quá trình này, luồng con đang cố gắng thêm phần tử 4 vào danh sách.

Do đó, nó đưa ra ConcurrentModificationException.

Làm cách nào để tránh ConcurrentModificationException?

1. Chúng ta có thể sử dụng các bộ sưu tập đồng thời như concurrentHashmap và CopyonWriteArrayList sẽ không bao giờ đưa ra ConcurrentCollectionException.

2. Thay vì lặp qua lớp bộ sưu tập, chúng ta có thể lặp qua Array, nhưng điều này sẽ chỉ làm giảm hiệu suất nếu kích thước mảng quá lớn.

Ghi chú:

Không bắt buộc ngoại lệ này sẽ chỉ được đưa ra khi luồng khác cố gắng sửa đổi một đối tượng bộ sưu tập, Nó có thể xảy ra nếu một luồng đơn lẻ có một số hoặc phương thức khác đang cố vi phạm hợp đồng của đối tượng.