Сценарии исключений многопоточности Java

Я новичок и пытаюсь изучить java. У меня ниже ситуация, и я пытаюсь получить некоторые предложения. Если есть ошибка с многопоточностью Java, каковы шаги для устранения проблемы? Например: есть переменная экземпляра, на которую воздействуют несколько потоков. Переменная не объявлена ​​как volatile. Насколько я понимаю, в этом случае переменная будет кэшироваться в локальной памяти потока и считываться оттуда. Это приведет к несогласованности данных. Как мы отлаживаем такую ​​ситуацию? Другими словами, как узнать, где именно в коде возникает ошибка?

Что ж, это очень широкое понятие, но в основном вы можете использовать свою IDE и отлаживать свой код или распечатывать сообщения в своей программе, возможно, с помощью System.out.print.

Skocdopole 01.03.2019 20:35

Просто попробуйте печатать после каждой основной части кода, чтобы увидеть, где он терпит неудачу, или используйте блоки обработки исключений или Try catch, чтобы обработать его и определить область, которая мешает коду.

LearningToCode 01.03.2019 20:40

Попробуйте зарегистрировать свое действие с более подробной информацией, которая поможет вам выяснить ошибку, если таковая имеется. если вам нужна дополнительная информация, лучше дайте пример кода для вашей проблемы.

Janny 01.03.2019 20:44

Не позволяйте потокам совместно использовать состояние.

David Conrad 01.03.2019 20:49
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
51
1

Ответы 1

Один из лучших способов отладки в Java, особенно для потоков, — использовать контрольные точки. Вы можете, как предлагают некоторые комментарии, использовать операторы sysout в своем коде, которые срабатывают при выполнении условия. В будущем попробуйте опубликовать короткий работающий код, который даст нам некоторое представление о том, какая именно проблема у вас возникла. Невозможно сказать вам, как устранить неполадки, если мы не знаем, в чем заключается ваша проблема.

Спасибо всем за ваши ответы.

sush 02.03.2019 21:14

Другие вопросы по теме