Добрый день.
При программировании многопоточных приложений в Java очень часто стоит задача остановить потоки, которые являются дочерними.
Можно пойти 2-мя путями:
1) В ручном режиме "гасить" дочерние потоки.
2) Сделать это автоматически.
Про первый случай мы говорить не будем.
Поговорим про второй.
Для того, что-бы дочерние потоки завершались сами при завершении родительского потока,
необходимо дочерние потоки объявить как потоки демона.
Для примера:
Простой поток мы порождаем:
SimpleThread = new Thread(this,"Simple Thread");
SimpleThread.start();
Поток демона мы описывает так:
SimpleThread = new Thread(this,"Simple Thread");
SimpleThread.setDaemon(true);
SimpleThread.start();
Для проверки того, является ли поток потоком демона применяется метод isDaemon().
Возвращаемое значение - boolean.
Также необходимо пару слов сказать о области применения такого рода потоков. Чаще всего применять этот тип в том случае, когда отдельный поток должен делать некую работу, но только тогда, когда работает основное приложение.
Самый ходовой пример - менеджер заметок.
Комментариев нет:
Отправить комментарий