Мне было интересно, была ли плохая практика кодирования и/или некоторые последствия, если я делаю бесконечный цикл (я проверяю, запущена ли программа) и когда условие Im check становится истинным, я использую system.exit.Бесконечная петля и System.exit (0) в java
ответ
Вы можете быть лучше использовать классы java.util.Timer и java.util.TimerTask, и рекурсивно перезапуске таймер по мере его истечения. Как сказано выше, в использовании System.exit нет ничего неправильного.
public static void main(String[] args){
Timer timer = new Timer(); //create a new timer
timer.schedule(new TaskLoop(), 1000); //schedule the task for 1000ms (1 sec)
}
class TaskLoop extends TimerTask {
public void run() {
System.out.println("here"); //timer's up, do whatever you need to do
Timer timer = new Timer();
timer.schedule(new TaskLoop(), 1000); //start another timer.
}
}
Прохладный, я не знал о таймере. Это определенно лучше, чем бесконечный цикл. – problemo
Активный цикл ожидания, как правило, ужасная идея. Это замедляет работу всей машины (включая запуск другой программы). Найдите способ прослушать событие запуска программы. Без каких-либо подробностей вашего кода я не могу предоставить более конкретные предложения.
С вызовом System.exit(0)
ничего не происходит. все зависит от того, какая программа она есть. (Например, приложение Свинг нужно просто установить DISPOSE_ON_CLOSE
или EXIT_ON_CLOSE
для JFrame приложения, а затем закрыть рамку.)
Не волнуйтесь, я поставил 100 миллисекундный сон на нитку, чтобы не убить процессор. Я хотел бы послушать событие запуска программы. Можете ли вы поделиться ссылкой или образцом кода прослушивателя событий запуска? – problemo
@ UniversalCreator1 - Это зависит от того, можете ли вы заставить другую программу сотрудничать. Если вы также пишете другую программу, есть различные способы, чтобы она сигнализировала программе мониторинга, что она началась. –
Я не могу контролировать внешнюю программу, которая сделала бы ее простой! Я подумал, что когда вы сказали о событии запуска программы, окна уведомляли java о запущенной программе, которая, в свою очередь, вызывала бы внутреннее событие. Во всяком случае, ответ Джек Строу прекрасно дал работы и не требует бесконечного цикла. – problemo
- 1. Бесконечная петля в Java
- 2. System.exit (0) в java
- 3. Java Iterator Бесконечная петля
- 4. Бесконечная петля в Java, Stacks и LinkedLists
- 5. Бесконечная петля и указатели
- 6. Бесконечная петля с java-сканером
- 7. Ошибка Java - TIMEOUT (Бесконечная петля)
- 8. Бесконечная петля и время
- 9. KnockoutJS и бесконечная петля
- 10. Бесконечная петля
- 11. Бесконечная петля:
- 12. Практика выхода (0) в C и System.exit (0) в Java
- 13. Бесконечная петля?
- 14. Простая бесконечная петля с функцией 0:
- 15. Бесконечная петля в C
- 16. Бесконечная петля в программе Java 2d array
- 17. Бесконечная петля в карточной игре «Война» - Java
- 18. Бесконечная петля в StreamReader
- 19. Бесконечная петля в EventQueue.isDispatchThread()
- 20. System.exit (0) vs JFrame.EXIT_ON_CLOSE
- 21. Бесконечная петля в C
- 22. Бесконечная петля в фоновом режиме в java
- 23. Бесконечная петля в python
- 24. Бесконечная петля в haskell
- 25. завершение программы через system.exit (0) в java
- 26. Бесконечная петля в Imacro
- 27. Бесконечная петля в перехватчике
- 28. Бесконечная петля в runnable гаснет?
- 29. Бесконечная петля в прологе
- 30. Бесконечная петля в VBA
Где вы используете бесконечный цикл? С какой целью вы это используете? Дайте конкретный фрагмент кода. –
Звучит неплохо. Любые примеры кода? – xagyg