ข้อยกเว้นสถานะการตรวจสอบที่ผิดกฎหมายใน Java คืออะไร?
ข้อยกเว้นสถานะการตรวจสอบที่ผิดกฎหมายใน Java คืออะไร?
Anonim

ตามที่อธิบายไว้ในเอกสารอย่างเป็นทางการ an IllegalMonitorStateException สามารถเกิดขึ้นได้เมื่อเธรดพยายามรอวัตถุของ เฝ้าสังเกต หรือแจ้งกระทู้อื่นรอรับวัตถุดังกล่าว เฝ้าสังเกต เมื่อเธรดนั้นไม่ได้เป็นเจ้าของ เฝ้าสังเกต ในคำถาม. กล่าวอีกนัยหนึ่งถ้าวัตถุ

เมื่อพิจารณาถึงสิ่งนี้ คุณจะจัดการกับ Java Lang IllegalMonitorStateException อย่างไร

เพื่อที่จะ จัดการกับ IllegalMonitorStateException คุณต้องตรวจสอบว่าการเรียกใช้เมธอด wait, notify และ notifyAll ทั้งหมดเกิดขึ้นเมื่อเธรดการเรียกเป็นเจ้าของจอภาพที่เหมาะสมเท่านั้น วิธีแก้ปัญหาที่ง่ายที่สุดคือการใส่สายเหล่านี้ไว้ในบล็อกที่ซิงโครไนซ์

อาจมีคนถามว่า IllegalThreadStateException ใน Java คืออะไร? IllegalThreadStateException . ระบบรันไทม์ส่ง an IllegalThreadStateException เมื่อคุณเรียกใช้เมธอดบนเธรดและสถานะของเธรดนั้นไม่อนุญาตให้เรียกใช้เมธอดนั้น ตัวอย่างเช่น, IllegalThreadStateException ถูกส่งออกไปเมื่อคุณเรียก suspend() บนเธรดที่ไม่ใช่ "Runnable"

เมื่อพิจารณาถึงสิ่งนี้ object monitor ใน Java คืออะไร?

โดยย่อ a เฝ้าสังเกต เป็นสถานที่ซึ่ง จอภาพ การเข้าถึงกระทู้ของห้องพิเศษ ช่วยให้มั่นใจได้ว่ามีเพียงเธรดเดียวเท่านั้นที่สามารถเข้าถึงข้อมูลหรือรหัสที่ได้รับการป้องกัน 2. นำไปใช้อย่างไรใน Java ? ใน Java เครื่องเสมือนทุก ๆ วัตถุ และคลาสมีความสัมพันธ์เชิงตรรกะกับa เฝ้าสังเกต.

Java Lang IllegalStateException คืออะไร

ชั้นเรียนสาธารณะ IllegalStateException ขยาย RuntimeException สัญญาณว่ามีการเรียกใช้เมธอดในเวลาที่ผิดกฎหมายหรือไม่เหมาะสม กล่าวอีกนัยหนึ่ง Java สิ่งแวดล้อมหรือ Java แอปพลิเคชันไม่อยู่ในสถานะที่เหมาะสมสำหรับการดำเนินการที่ร้องขอ

แนะนำ: