![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| sith |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 11.2.2007 Репутация: нет Всего: 1 |
.... нужно убить поток... что бы он полностью загнулся и перстал существовать...
...на вызов фунции ... <поток>.stop(); компилятор предупреждает.... -uses or overrides a deprecated API... что это... и чем это мне грозит... -------------------- Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!! |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
||||
|
||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Можно убить поток вызвав thread.join(1); -умрет через 1 милисекунду.
Но это не лучший способ. ИМХО лучше чтоб поток завершал себя сам. Можно создать переменную в потоке (например boolean ThreadRun = true), которая доступна из вне, и если надо убить поток, то поставить эту переменную в false (Хорошо бы чтоб это делал метод setThreadRun(boolean)), а поток во время работы проверял бы состояние этой переменной, и если она false, завершался бы. -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
-------------------- ![]() ![]() |
|||
|
||||
| Boing747 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 19.2.2007 Репутация: 1 Всего: 2 |
Сам то, нибось так поток не останавливаешь. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Thread.join() - это вполне нормальный стиль, вот только поток он не останавливает. И вообще господа, может уже пора начать JavaDoc-и читать, а? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Boing747 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 19.2.2007 Репутация: 1 Всего: 2 |
LSD,
Thread.join() -конечно нормально и часто испоьзуется, но вот thread.join(1); я ни разу не видел, где используют, уж простите мою неосведомленность (Не в обиду сказанно) Это сообщение отредактировал(а) Boing747 - 11.4.2007, 11:08 |
|||
|
||||
| Metal_Heart |
|
|||
|
а почему бы и нет? ![]() ![]() Профиль Группа: Участник Сообщений: 728 Регистрация: 31.3.2005 Где: Москва Репутация: 4 Всего: 12 |
если бы sith прошелся поиском по форуму, то понял бы, что убить поток из-вне можно только убив саму jvm.
кажется так, или я не прав? -------------------- не стыдно учиться, а стыдно не учиться |
|||
|
||||
| Vasay |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Честно, считал что вызов join(long millis) - ждет максимум millis милисекунд, и если поток за это время не завершился, то его убивают. Судя по всему я был неправ.
Не не останавливаю -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
|||
|
||||
| FlasH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 9.6.2006 Репутация: нет Всего: 1 |
А что делать когда тред встал на read() ?
|
|||
|
||||
| Vasay |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2097 Регистрация: 8.3.2006 Репутация: 11 Всего: 73 |
Выставлять timeout для сокета... -------------------- Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны. |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Для некоторых потоков, можно вызвать interrupt() у треда. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| kkorsakoff |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 378 Регистрация: 18.10.2005 Где: Санкт-Петербург Репутация: 3 Всего: 14 |
А почему для некоторых? В каких-то случаях так делать нельзя?
Просто я всегда использовал interrupt(), будет интересно узнать, если так не всегда можно поступать. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Вот что написано в JavaDoc по interrupt():
Файловые и сетевые каланы - interruptible, но в принципе могут быть каналы, которые не interruptible. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| sith |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 11.2.2007 Репутация: нет Всего: 1 |
Thread.join() - метод который останавливает поток до его удаления... так написано в АПИ... если я все правильно понял...???
-------------------- Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!! |
|||
|
||||
![]()
|
| Правила форума "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. |