Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Java |
![]() ![]() |
razliv Member Откуда: Сообщений: 1068 |
Здравствуйте столкнулся с проблемой, есть задача: Main thread должен создать новый асинхронный сын-thread, при том что main thread должен закончиться, а созданый сын-thread должен выполняться полностью автономно. Как это можно сделать ? |
5 фев 19, 11:57 [21801819] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
razliv, Новый процесс и в нем поток. Код то пишите. Где он? |
5 фев 19, 12:01 [21801824] Ответить | Цитировать Сообщить модератору |
razliv Member Откуда: Сообщений: 1068 |
Petro123 Вот мой код, но основной поток все равно ждет пока окончиться дочерний процесс. import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; public class MainT { public static void main(String args[]) { ExecutorService service = Executors.newFixedThreadPool(10); System.out.println("start main"); service.submit(() -> { try { TimeUnit.MINUTES.sleep(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("Task ID : 1 " + " performed by " + Thread.currentThread() .getName()); }); service.shutdown(); System.out.println("finish main"); } } |
5 фев 19, 13:15 [21801891] Ответить | Цитировать Сообщить модератору |
Leonid Kudryavtsev Member Откуда: Сообщений: 7396 |
основной поток == процесс процесс не может завершится, пока все его потоки не выполнились т.к. если процесс принудительно завершается, все его потоки убиваются задача в исходной постановке бесмысленна. |
5 фев 19, 13:17 [21801894] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
|
||
5 фев 19, 13:33 [21801914] Ответить | Цитировать Сообщить модератору |
razliv Member Откуда: Сообщений: 1068 |
а как сделать чтобы он был независим ? |
5 фев 19, 13:53 [21801923] Ответить | Цитировать Сообщить модератору |
Leonid Kudryavtsev Member Откуда: Сообщений: 7396 |
поток - никак на то он и поток Ваша задача в исходной постановке бесмысленна. Объясните, зачем это нужно. |
||
5 фев 19, 13:54 [21801926] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
|
||
5 фев 19, 13:57 [21801930] Ответить | Цитировать Сообщить модератору |
Герой дня Member Откуда: obmanula.ru Сообщений: 30503 |
а потоки-демоны разве не для этого предназначены - когда заканчивает работать главный поток ? |
||
5 фев 19, 14:14 [21801939] Ответить | Цитировать Сообщить модератору |
Basil A. Sidorov Member Откуда: Сообщений: 9005 |
Но чудес не бывает - процесс JVM останется и не завершится пока не завершатся потоки-демоны. |
||
5 фев 19, 14:25 [21801944] Ответить | Цитировать Сообщить модератору |
Leonid Kudryavtsev Member Откуда: Сообщений: 7396 |
К тому же в коде явный вызов service.shutdown(); В общем, что и зачем хочет автор, лично мне не понятно |
5 фев 19, 14:38 [21801956] Ответить | Цитировать Сообщить модератору |
Герой дня Member Откуда: obmanula.ru Сообщений: 30503 |
вроде это и нужно ТСу |
||||
5 фев 19, 15:50 [21802016] Ответить | Цитировать Сообщить модератору |
Все форумы / Java | ![]() |