Ваш стартовый код выглядит нормально: мой прогноз - что-то не так с DaemonEngine.Receiver()
, возможно, выдается исключение, или, возможно, сама функция структурирована для обработки только одного сообщения ... Без точного понимания функции это сложно сказать.
EDIT:
Чтобы получить мои вещи из моих комментариев:
ЧТО-ТО идет не так, чтобы убить вашу нить. Исключение, логическая ошибка, я не могу вам сказать, что, потому что нет кода того, что происходит внутри вашего потока, но что-то происходит. Это не имеет никакого отношения к уже опубликованному коду, который просто запускает поток, а не поддерживает его
Кроме того, из кода, который вы опубликовали, вы просто отбрасываете тот факт, что было исключение ... У меня нет под рукой ссылки, но проглатывание подобных исключений ужасно, Особенно внутри потока, где они все равно не появляются как обычно.
Там также нет указаний на какой-либо цикл, так что это может быть одно или оба из моих предложений выше, что вызывает проблемы.