2016-05-17 2 views
-3

У меня есть код здесь, и он кажется запущенным в IllegalThreadStateException, и я не знаю почему. Таким образом, он запускает два кода одновременно. То, что я пытаюсь сделать, это то, что если я введу что-либо (слово, число, символ), обратный отсчет перезапустится. Но всякий раз, когда я ввожу что-то до того, как обратный отсчет останавливается, он всегда подходит к этому исключению. Что я делаю неправильно, и есть ли что-то, что я могу сделать, чтобы исправить это?Ошибка ошибки кодирования состояния Java Java

These are two codes merged in one picture

+3

Не используйте изображение для отображения текста. – Kayaman

+0

Пожалуйста, разместите здесь свой код и трассировку стека. – hinneLinks

+0

Вы начинаете один и тот же поток несколько раз - вы не можете этого сделать (javadoc указывает, что это вызовет IllegalThreadStateException). Следующее - не использовать метод stop - считается ошибочно написанным –

ответ

0

Вы не можете позвонить начать на нитку более чем один раз. Когда вы вызываете старт во второй раз, вы получите исключение IllegalStateException.

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

+0

Это действительно работает O_O TY TY TY TY TY !!!! – user6345865

+0

@ пользователь6345865: большой. также проверьте [мой ответ здесь] (http://stackoverflow.com/a/5915306/217324), в котором есть пример того, как прервать поток, используя прерывание вместо остановки. –

+0

О, есть разница? – user6345865

Смежные вопросы