เหตุใดจึงมีข้อยกเว้นการแก้ไขที่เกิดขึ้นพร้อมกันใน java

สารบัญ:

เหตุใดจึงมีข้อยกเว้นการแก้ไขที่เกิดขึ้นพร้อมกันใน java
เหตุใดจึงมีข้อยกเว้นการแก้ไขที่เกิดขึ้นพร้อมกันใน java
Anonim

ConcurrentModificationException เกิดขึ้นเมื่อ วัตถุถูกพยายามแก้ไขพร้อมกันเมื่อไม่อนุญาต ข้อยกเว้นนี้มักจะเกิดขึ้นเมื่อทำงานกับคลาส Java Collection ตัวอย่างเช่น - ไม่อนุญาตให้เธรดแก้ไขคอลเลกชันเมื่อมีเธรดอื่นวนซ้ำ

ฉันจะแก้ไขข้อยกเว้นการแก้ไขพร้อมกันได้อย่างไร

เรายังสามารถหลีกเลี่ยง Concurrent Modification Exception ในสภาพแวดล้อมแบบเธรดเดียวได้ เราสามารถใช้ วิธีการลบของ Iterator เพื่อลบวัตถุออกจากวัตถุคอลเลกชันพื้นฐาน แต่ในกรณีนี้ คุณสามารถลบได้เฉพาะวัตถุเดียวกันและไม่สามารถลบวัตถุอื่นออกจากรายการได้

คุณจะป้องกันข้อยกเว้นการแก้ไขพร้อมกันบนแผนที่ได้อย่างไร

use ConcurrentHashMap. ใช้ HashMap แบบง่ายๆ ต่อไป แต่สร้างแผนที่ใหม่ในการดัดแปลงแต่ละครั้งและสลับแผนที่เบื้องหลัง (ซิงโครไนซ์การทำงานของสวิตช์หรือใช้ AtomicReference)

ตัววนซ้ำวิธีใดทำให้เกิดข้อยกเว้นการแก้ไขพร้อมกัน

ถ้าเราเรียกใช้ลำดับของเมธอดบนอ็อบเจ็กต์ที่ละเมิดสัญญา ออบเจ็กต์จะส่ง ConcurrentModificationException ตัวอย่างเช่น ถ้าในขณะที่วนซ้ำบนคอลเลกชัน เราพยายามแก้ไขคอลเลกชันนั้นโดยตรง จากนั้น ตัววนซ้ำที่ล้มเหลว ที่กำหนด จะโยน ConcurrentModificationException

ข้อยกเว้นการแก้ไขพร้อมกันใน Java stack overflow คืออะไร

หากเธรดเดียวออกลำดับของการเรียกใช้เมธอดที่ละเมิดสัญญาของอ็อบเจ็กต์ object อาจ โยนข้อยกเว้นนี้ ตัวอย่างเช่น หากเธรดแก้ไขคอลเล็กชันโดยตรงในขณะที่กำลังวนซ้ำในคอลเล็กชันโดยใช้ตัววนซ้ำแบบเร็วที่ล้มเหลว ตัววนซ้ำจะส่งข้อยกเว้นนี้ออก

แนะนำ:

บทความที่น่าสนใจ
ควรทานคลาริเนสเมื่อไหร่?
อ่านเพิ่มเติม

ควรทานคลาริเนสเมื่อไหร่?

ปริมาณที่แนะนำของ Clarinase ในผู้ใหญ่และเด็กอายุมากกว่า 12 ปีคือ หนึ่งเม็ดทุก 12 ชั่วโมง ไม่สำคัญว่าคุณจะทานคลาริเนสก่อนหรือหลังอาหาร คลาริเนสดีสำหรับอะไร Clarinase Repetabs บรรเทาอาการที่เกี่ยวข้องกับ โรคจมูกอักเสบจากภูมิแพ้ตามฤดูกาล (ไข้ละอองฟาง) เช่น จาม น้ำมูกไหลหรือคัน และตา เมื่อมีอาการคัดจมูก คุณควรกินคลาริเนสนานแค่ไหน ปริมาณที่แนะนำมักจะเป็นหนึ่งเม็ด Clarinase Repetabs วันละสองครั้งพร้อมน้ำหนึ่งแก้ว มีหรือไม่มีอาหาร ไม่เกินปริมาณที่แนะนำ ระยะเวลาการรักษา

Ei นับเป็นรายได้หรือไม่?
อ่านเพิ่มเติม

Ei นับเป็นรายได้หรือไม่?

เรื่องควรรู้. ไม่ว่าคุณจะได้รับผลประโยชน์ประเภทใด EI การชำระเงินคือรายได้ที่ต้องเสียภาษี หมายถึงภาษีของรัฐบาลกลางและระดับจังหวัดหรืออาณาเขต หากมี จะถูกหักเมื่อคุณได้รับ EI และ Cerb นับเป็นรายได้หรือไม่ หากคุณได้รับผลประโยชน์ตอบแทนในกรณีฉุกเฉินของแคนาดา (CERB) จากบริการแคนาดาหรือการจ่ายผลประโยชน์การประกันการจ้างงาน (EI) ใด ๆ คุณควรได้รับใบภาษี T4E พร้อมจำนวนเงินที่คุณได้รับ สิทธิประโยชน์เหล่านี้ จำนวนเงินที่ต้องเสียภาษี.

ปั๊มนมทำให้เต้านมอักเสบได้หรือไม่?
อ่านเพิ่มเติม

ปั๊มนมทำให้เต้านมอักเสบได้หรือไม่?

การเพิ่มปริมาณน้ำนมมากเกินไปโดยการปั๊มอาจทำให้คัดตึง ท่อน้ำนมอุดตัน และเพิ่มความเสี่ยงของการติดเชื้อเต้านม (เต้านมอักเสบ) – หรือแย่กว่านั้นคือทำให้แม่อยู่ใน สถานการณ์ที่เธอต้องพึ่งปั๊มเพียงเพื่อให้สบายใจเพราะลูกไม่สามารถเอาน้ำนมออกได้มากเท่ากับที่แม่ทำ ปั๊มนมป้องกันเต้านมอักเสบอย่างไร เคล็ดลับอื่นๆ เพื่อช่วยป้องกันโรคเต้านมอักเสบ ได้แก่ เป่าหัวนมให้แห้งหลังการให้นมลูกแต่ละครั้ง เพื่อป้องกันการระคายเคืองและการแตกร้าว ลองใช้ครีมที่มีส่วนผสมของลาโนลิน เช่น แลนซิโนห์