Tại sao ngoại lệ sửa đổi đồng thời xảy ra trong java?

Mục lục:

Tại sao ngoại lệ sửa đổi đồng thời xảy ra trong java?
Tại sao ngoại lệ sửa đổi đồng thời xảy ra trong java?
Anonim

ConcurrentModificationException xảy ra khimột đối tượng được cố gắng sửa đổi đồng thời khi nó không được phép. Ngoại lệ này thường xảy ra khi một người đang làm việc với các lớp Bộ sưu tập Java. Ví dụ - Một chuỗi không được phép sửa đổi Bộ sưu tập khi một số chuỗi khác đang lặp lại nó.

Làm cách nào để khắc phục ngoại lệ sửa đổi đồng thời?

Chúng ta cũng có thể tránh Ngoại lệ Sửa đổi Đồng thời trong một môi trường luồng đơn. Chúng ta có thể sử dụngphương thức loại bỏ của Iteratorđể loại bỏ đối tượng khỏi đối tượng tập hợp bên dưới. Nhưng trong trường hợp này, bạn chỉ có thể xóa cùng một đối tượng chứ không phải bất kỳ đối tượng nào khác khỏi danh sách.

Bạn làm cách nào để ngăn ngoại lệ sửa đổi đồng thời trên bản đồ?

sử dụngConcurrentHashMap. tiếp tục sử dụng HashMap đơn giản, nhưng xây dựng một bản đồ mới trên mỗi lần sửa đổi và chuyển đổi bản đồ ở hậu trường (đồng bộ hóa thao tác chuyển đổi hoặc sử dụng AtomicReference)

Phương thức nào của trình lặp đưa ra ngoại lệ sửa đổi đồng thời?

Nếu chúng ta gọi một chuỗi các phương thức trên một đối tượng vi phạm hợp đồng của nó, thì đối tượng sẽ ném ConcurrentModificationException. Ví dụ: nếu trong khi lặp qua tập hợp, chúng tôi trực tiếp cố gắng sửa đổi tập hợp đó, thì trình lặpfail-fastđã cho sẽ ném ra ConcurrentModificationException này.

Ngoại lệ sửa đổi đồng thời trong tràn ngăn xếp Java là gì?

Nếu một luồng đơn lẻ đưa ra một chuỗi các lệnh gọi phương thức vi phạm hợp đồng của một đối tượng, thì đối tượngcó thểném ra ngoại lệ này. Ví dụ: nếu một luồng sửa đổi trực tiếp một bộ sưu tập trong khi nó đang lặp lại bộ sưu tập bằng một trình lặp không nhanh, thì trình lặp sẽ đưa ra ngoại lệ này.

Đề xuất:

Bài viết thú vị
Dấu chấm tiếng vang có thể hiển thị thời gian không?
Đọc thêm

Dấu chấm tiếng vang có thể hiển thị thời gian không?

Màn hình cũng có thể cho bạn biết thời gian còn lại nếu bạn yêu cầu Alexa hẹn giờ. … Màn hình LED trên Echo Dot với Đồng hồ có thể hiển thịnhiệt độ hiện tại, cũng như thời gian còn lại trên đồng hồ đếm ngược. Làm cách nào để hiển thị Đồng hồ trên Echo Dot của tôi?

Có phải các trình dịch chuyển đổi hll thành mã máy không?
Đọc thêm

Có phải các trình dịch chuyển đổi hll thành mã máy không?

Trình biên dịchđược sử dụng để dịch một chương trình được viết bằng ngôn ngữ cấp cao sang mã máy (mã đối tượng). Sau khi được biên dịch (tất cả trong một lần), tệp chương trình đã dịch sau đó có thể được sử dụng trực tiếp bởi máy tính và có thể thực thi độc lập.

Bạn có phải là người có ý nghĩa không?
Đọc thêm

Bạn có phải là người có ý nghĩa không?

:một người đàn ông quan hệ tình dục với nhiều phụ nữ, đặc biệt: một người đàn ông không chung thủy với vợ hoặc bạn tình của mình… Người lừa đảo là gì? Người lăng nhăng làngười có quan hệ tình dục nhiều lần hoặc quan hệ với nhiều phụ nữ một cách thường xuyên.