Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Закрытие потока


Автор: Belka08 9.12.2009, 01:44
Имеется сервер. Ведется его лог и что бы отображать все то, что сервер делает создается отдельный поток, который и инициализирует работу сокетов и тд и тп. Но если необходимо остановить сервер, то необходимо и остановить поток. Каким образом это сделать? Если просто написать метод interrupt(), что вроде как закрыл, но потом вновь не возвращеатся, а приложение просто закрывается и никаких исключений нет.

Автор: barin_Student 10.12.2009, 07:47
Лично я делаю полное закрытие потока только логической концовкой. Примерно вот так:[code=java]
Код

public void quit()
{
     quit=true;
}
public void run(){
   while(!quit)
   {
        //Thread working
    }
}

просто вызываю метод quit() и поток логически кончаеться , а значит полность стопиться.

Автор: slavamk 10.12.2009, 10:22
Посмотрите раздел "What about threads blocked on IO?" по ссылке
http://www.javaspecialists.eu/archive/Issue056.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)