Я краду комментарий Лотара и представляю его как ответ. Возможно, вы захотите реализовать свою программу в реальном времени как службу Windows. Если вам нужно запустить и остановить его под контролем пользователя, вы можете предоставить графический интерфейс (который не должен запускаться постоянно) для запуска, приостановки, продолжения и остановки службы. Как услуга, ваша программа с меньшей вероятностью будет прервана тем, что пользователь делает что-то на компьютере, включая такие вещи, как выход из системы.