Попытка приостановить потоки после вызова пользовательского исключения - PullRequest
0 голосов
/ 08 декабря 2011

Это школьное задание, над которым я работал.Я был туда-сюда с моим наставником, и он помогал мне с этим, но есть кое-что, что я явно упускаю здесь.Рассматриваемая программа принимает аргумент "-f filename.txt", и в этом имени файла содержится список таких вещей:

FansOn, 2000
FansOff, 4000
Bell, 2000,5

Программа принимает эти имена и создает классы, используя отражение, а затем вызываетaction () метод сгенерированных классов (FansOn и т. д.).Он создает поток для каждого класса, а затем запускает поток, который генерирует сообщение типа «Вентилятор включен».Для двух событий, PowerOut и WindowMalfunction, он генерирует исключение Customler ControllerException, которое затем должно захватить объект с именем GreenhouseControls и сериализовать его в файл с именем dump.out для последующего изучения.Проблема в том, что я могу вызвать мой метод ghcSuspend(), который должен приостановить все события сразу после вызова исключения.Фактически, в этот момент моя программа просто генерирует проблемы переполнения стека.Я не знаю, стоит ли мне публиковать здесь весь мой код, потому что я, очевидно, не хочу, чтобы кто-то еще проходил мой курс, чтобы просто передать большую часть кода, поэтому я не знаю, что я должен опубликовать, чтобы вы, ребята, поняли мою проблему.

Итак, в моем методе main() я создаю GreenhouseControls объект с именем gc.GreenhouseControls - это имя файла основного класса.В конце концов мне нужен этот объект gc в моем собственном исключении, которое определено и перехвачено в моем файле events.class

1 Ответ

0 голосов
/ 09 декабря 2011

Я понял это. Поскольку мой объект создавался в методе run, мне в основном приходилось пропускать его через каждый метод, который вызывался один за другим, пока он не достиг моего последнего метода, где мне нужно было с ним справиться. Мне не хватало некоторых базовых концепций ОО, которые в итоге создали бесконечный цикл, переполнивший мой стек. Так что теперь у нас все хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...