| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Запуск и останов потока... |
| Автор: Alone 29.9.2003, 10:05 | ||||||
| Может для кого и смешная ситцация, но я немогу остановить запущенный поток... вот реализация. основной код:
код потока.
и попытка останова потока из основного кода.
После этого поток продолжает работу как ни в чем не бывало... даже ексепшн не помогает ничего эдакого отловить... |
| Автор: Sun 29.9.2003, 11:13 |
| Метод stop() является Depricated, то-есть его использование устарело и может быть не реализованно в следующих версиях Java. Возможно в твоей версии в этом методе просто заглушка, которая ничего не делает. Посмотри как можно корректно остановить поток здесь: http://java.sun.com/docs/books/tutorial/essential/threads/lifecycle.html |
| Автор: Alone 29.9.2003, 11:36 |
| Взгляни внимательно, я не использую метод stop. ДЛя этого у меня реализован метод stopThread, который в свою очередь вызывает Thread.currentThread ().interrupt () Но за ссылку ОГРОМНЫЙ сенкс! |
| Автор: DarkDS 29.9.2003, 12:01 |
| Странна... Я что то из кода не могу понять - ты запускаешь 2-а одинаковых потока? Или как? |
| Автор: Alone 29.9.2003, 17:22 |
| нет... С чего ты взял? Из основного кода я создаю объект типа TcpThread t (это мой класс) потом при необходимости я вызываю у этого объекта метод t.newThread() в котором стартует новый поток. |
| Автор: DarkDS 29.9.2003, 22:41 | ||||
| t=new TcpThread (mainObj); - два раза используется... Но это в общем то мелочи просто яб сделал чутка по другому Причина, почему тред не останавливается: метод интеррапт посылает InteruptedException. В общем посмотри тут: http://java.sun.com/j2se/1.3/docs/guide/misc/threadPrimitiveDeprecation.html В твоем случае помогут небольшие шаманские танцы В общем тред выглядит так:
запуск и останов треда выглядит так:
|
| Автор: DarkDS 29.9.2003, 22:43 |
| В общем вот... Посмотри - что не понятно... |
| Автор: Alone 30.9.2003, 19:58 |
| Н-да. Покрасивше моего будет... Ошибку понял. принял к сведению... ПАСИБ! |
| Автор: Anime 27.1.2009, 13:14 | ||||||
Приделал кнопки
Вот это код потока, такой же как у DarkDS
Нажимаем старт, поток запустился, потом стоп поток остановился. Но когда опять нажать старт выскакивает ексепшин. Как запустить опять повторно?
Пэ Эс. На форуме облазил темы по потокам, Представленные варианты работают хорошо, но почему то когда повторно нажимаешь старт выпадает эксепшен |
| Автор: math64 27.1.2009, 13:46 | ||
При нажатии на stop нитка завершает работу. После этого нужно создавать новый экземпляр
|