ConcurrentModificationException:
Feb 09 2023
วิธีการหลักคือการพยายามเพิ่มจำนวนเต็มในรายการ ภายในเมธอดหลัก เราจะเริ่มเธรดย่อย
วิธีการหลักคือการพยายามเพิ่มจำนวนเต็มในรายการ
ภายในเมธอดหลัก เราจะเริ่มเธรดย่อย เช่น
t.start()
ขณะนี้เรามี 2 เธรดที่อยู่ระหว่างดำเนินการ
ตอนนี้เธรดหลักพยายามวนซ้ำองค์ประกอบของรายการและภายในกระบวนการนี้เธรดลูกพยายามเพิ่มองค์ประกอบ 4 ในรายการ
ดังนั้นจึงให้ ConcurrentModificationException
จะหลีกเลี่ยง ConcurrentModificationException ได้อย่างไร
1. เราสามารถใช้คอลเลกชันพร้อมกัน เช่น concurrentHashmap และ CopyonWriteArrayList ซึ่งจะไม่ให้ ConcurrentCollectionException
2. แทนที่จะวนซ้ำในคลาสคอลเลกชัน เราสามารถวนซ้ำผ่าน Array ได้ แต่จะทำให้ประสิทธิภาพลดลงหากขนาดอาร์เรย์ใหญ่เกินไป
บันทึก:
ไม่จำเป็นว่าข้อยกเว้นนี้จะเกิดขึ้นก็ต่อเมื่อเธรดอื่นพยายามแก้ไขวัตถุคอลเลกชัน มันสามารถเกิดขึ้นได้หากเธรดเดียวมีวิธีการบางอย่างหรือวิธีอื่นที่พยายามละเมิดสัญญาของวัตถุ





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)