![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| novichiok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 15.9.2011 Репутация: нет Всего: нет |
Здравствуйте. У меня возник такой вот вопрос:в инстансе Runnable у меня есть ссылка на scheduledPool, в run() данного потока я инициализирую этот пул, сабмичу таск и время через которое таск должен выполняться, после чего run() родительского потока сразу завершается, то есть завершается и сам родительский поток и следовательно теряется ссылка на мой пул. Вопрос - будет ли дальше существовать мой пул и содержащийся в нем таск будет выполняться корректно, или его соберет сборщик мусора ?
Пул никто не юзает. Он просто выполняет таск по прошествии определенного времени и все. PS: код этот не написан, поэтому в дебагере смотреть не могу. Хотел вот узнать прежде чем начинать такое имплиментиить Спасибо |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Честно говоря не понял, кто на кого там ссылается, но:
- работающий поток никогда не будет собран сборщиком - все объекты на которые есть ссылки из работающего потока тоже не будет собраны -------------------- 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. |
|||
|
||||
| novichiok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 15.9.2011 Репутация: нет Всего: нет |
Вот такой код. то есть в определенный момент времени в пуле, работающих потоков может и не оказатся, ведь задача запускается по истечении интервала времени. В том то и соль ситуации что используется пул и не обычный а scheduled. |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Это ничего не меняет. Пока у пула не был вызван shutdown() в нем есть работающие потоки, у которых есть ссылка на пул. Значит GC пул не соберет. -------------------- 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. |
|||
|
||||
| novichiok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 15.9.2011 Репутация: нет Всего: нет |
Тогда отлично.
Спасибо |
|||
|
||||
| javer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 24.10.2010 Репутация: нет Всего: нет |
Т.е. фактически задачи из пула будут выполняться после завершения приложения - т.е. они демоны? ..ну ли КАК демоны)
|
|||
|
||||
| novichiok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 15.9.2011 Репутация: нет Всего: нет |
Почему после завершения ? Перед завершением закрою пул и все |
|||
|
||||
![]()
|
| Правила форума "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. |