Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прервать программу по нажатию клавиши ctrl+Q, (программа консольная) 
V
    Опции темы
fclmfan
Дата 12.9.2011, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Werdum face
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 64
Регистрация: 21.10.2008

Репутация: нет
Всего: нет



Есть консольное приложение
Код

import java.util.*;

class MyTimerTask extends TimerTask {
  public void run() {
    System.out.println("Task....");
  }
}

class TTest {
  public static void main(String[] args) {
    MyTimerTask task = new MyTimerTask();
    Timer myTimer = new Timer();
    myTimer.schedule(task, 1000, 500);
  }
}

как прервать программу (вызвать myTimer.cancel()), допустим по нажатию CTRL+Q?
PM   Вверх
dobrolub
Дата 12.9.2011, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 11
Всего: 16



- К сожалению Ctrl-Q не является контрольной последовательностью
- Для прерывания программы обычно используется Ctrl+C
- Для вызова действия по прерыванию программы обычно используют shutDownHook, см пример.
- Shutdown Hook будет вызван по получению процессом java сигнала на выход

Код

public class T
{
  public static void main(String[] args)
  {
    Runtime.getRuntime().addShutdownHook(
      new Thread()
      {
        public void run()
        {
          System.out.println("shutting down");
          try {
            Thread.sleep(1000);
          } catch (Exception e) {
            e.printStackTrace();
          }
          System.out.println("done...");
        }
     }
    );

    while (true) {
    }
  }
}

PM   Вверх
fclmfan
Дата 13.9.2011, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Werdum face
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 64
Регистрация: 21.10.2008

Репутация: нет
Всего: нет



dobrolub, спасибо! То что нужно!
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0405 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.