![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: 3 Всего: 15 |
Если у меня вот такой код:
То когда гарантированно закончится выполнение всех запущенных трэдов? -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
|
|||
|
||||
| goodday1941 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 709 Регистрация: 16.7.2006 Где: Украина, Киев Репутация: 1 Всего: 9 |
хм... но ты уже их стартонул, а потом джойнишь
Добавлено через 1 минуту и 54 секунды они просто отработают быстрее чем начнется второй цикл... хотя дойдя до строчки "гарантированно закончено" они отработают -------------------- SCJP 6 |
|||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: 3 Всего: 15 |
Platon, Ну это несколько нечестно, я как раз ищу ответ для своего примера. Я усомнился в своих знаниях и не смог создать достойного примера для проверки когда именно потоки полностью отработают. Например, сразу после последней скобки в main'e или когда?
-------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 6 Всего: 93 |
Royan, если это не демоны (isDaemon() == false), то должны помереть сразу после выхода из main, не дожидаясь своего завершения. Вот только я не помню становится ли в Java поток демоном по умолчанию или нет.
Ну а простой способ для проверки -- сделал бы в потоке длинный sleep, а потом пусть он в консоль чего-нибудь напишет, или файлег какой-нибудь создаст. PS: тысяча потоков -- это что-то ненормальное, честно говоря Это сообщение отредактировал(а) Дрон - 30.7.2008, 14:26 -------------------- Да. Именно так. |
|||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: 3 Всего: 15 |
Дрон, точно!
Из теста [запущенного в отладчике] четко видно, что main-thread преспокойно умирает, а Thread_0 остается висеть, на пару с ним появляется DestroyJavaVM, но это уже из другой оперы -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| fixxer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 672 Регистрация: 14.9.2006 Где: Саратов, Россия Репутация: 6 Всего: 27 |
-------------------- ![]() |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 6 Всего: 93 |
Точно да не точно Я в своём сообщении перепутал: isDaemon == false как раз говорит, что приложение продолжает работать, пока поток не помрёт сам. В твоём случае как раз по умолчанию поток не является демоном, поэтому и продолжает работать. Если поставишь setDaemon(true) перед запуском потока, то он должен сразу помереть. -------------------- Да. Именно так. |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Во напридумывали! Флаг daemon, установленный в true означает только то, что поток будет завершён тогда, когда не останется потоков с daemon == false.
-------------------- ![]() ![]() |
|||
|
||||
![]()
|
| Правила форума "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. |