Что такое исключение недопустимого состояния монитора в Java?
Что такое исключение недопустимого состояния монитора в Java?

Видео: Что такое исключение недопустимого состояния монитора в Java?

Видео: Что такое исключение недопустимого состояния монитора в Java?
Видео: Многопоточность в Java: основы 2024, Май
Anonim

Как описано в официальной документации, IllegalMonitorStateException может произойти, когда поток пытается дождаться объекта монитор , или чтобы уведомить другие потоки, ожидающие указанного объекта монитор , когда этот поток не владеет монитор обсуждаемый. Другими словами, если объект Object.

Учитывая это, как вы обрабатываете исключение Java Lang IllegalMonitorStateException?

Чтобы иметь дело с IllegalMonitorStateException вы должны убедиться, что все вызовы методов wait, notify и notifyAll происходят только тогда, когда вызывающий поток владеет соответствующим монитором. Самое простое решение - заключить эти вызовы в синхронизированные блоки.

Также можно спросить, что такое IllegalThreadStateException в Java? IllegalThreadStateException . Система времени выполнения выдает IllegalThreadStateException когда вы вызываете метод в потоке, и состояние этого потока не позволяет вызвать этот метод. Например, IllegalThreadStateException выдается, когда вы вызываете suspend () в потоке, который не является «Runnable».

Учитывая это, что такое объектный монитор в Java?

Короче говоря, монитор это объект, который мониторы доступ потоков в специальную комнату. Это гарантирует, что только один поток может получить доступ к защищенным данным или коду. 2. Как это реализовано в Джава ? в Джава виртуальная машина, каждые объект и класс логически связан с монитор.

Что такое Java Lang IllegalStateException?

общественный класс IllegalStateException расширяет RuntimeException. Сигнализирует, что метод был вызван в недопустимое или несоответствующее время. Другими словами, Джава окружающая среда или Джава приложение не находится в состоянии, подходящем для запрошенной операции.

Рекомендуемые: