![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Добрый вечер! Имеется класс ... в нем есть экземпляр класса который наследуется от Thread. Инициализация этой переменной происходит при вызове конструктора. По нажатию на кнопку вызывает запускается поток, но при повторном запуске (когда жмешь второй раз на кнопку) вылетает исключение, как этого избежать? как "сказать" потоку что нужно выполняться заново ? Повторно создать экземпляр этого класса не получается , потому что те переменные что передаются в конструктор должно быть финал.
Спасибо! |
|||
|
||||
pathfinder |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.3.2010 Репутация: 2 Всего: 10 |
Завершившийся поток нельзя повторно использовать.
Если нужно какие-либо действие производить в отдельном потоке совершенно не обязательно соответствующий класс наследовать от Thread. Пишите всю логику в отдельный класс, и запускайте ее в отдельном потоке примерно вот так.
Это сообщение отредактировал(а) pathfinder - 2.6.2010, 10:14 |
|||
|
||||
yeputons |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 1.4.2009 Где: Санкт-Петербург Репутация: 1 Всего: 5 |
А может так будет красивее?
|
|||
|
||||
pathfinder |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.3.2010 Репутация: 2 Всего: 10 |
yeputons, ваш код действительно на первый взгляд красивее, однако в нем учитывается тот факт, что после выполнения задачи будет необходимость выполнения некоторых завершающих действий, непосредственно к задаче отношения не имеющих. Например в данном случае это включение "кнопки запуска задачи".
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |