Как сбросить ожидающие сообщения и обратные вызовы в обработчике - PullRequest
2 голосов
/ 15 июня 2011

Как очистить / отправить все ожидающие сообщения и обратные вызовы, ожидающие в обработчике?

Мне нужно это, чтобы справиться с некоторыми асинхронными событиями, когда моя служба разрушается.

Я хочу немедленно отправить все сообщения / обратные вызовы, а не удалять их.Я не использую отложенные сообщения.

1 Ответ

3 голосов
/ 15 июня 2011

Если вы не используете отложенные сообщения, у вас есть очередь ожидающих сообщений, каждое из которых должно быть обработано в связанном потоке.Это означает, что поток не может обработать следующее сообщение, если текущая обработка сообщения не завершена

Итак, подведем итог: если задержанные сообщения не используются, цикл обработки сообщений вашего обработчика уже делает все возможное, чтобы очистить очередь.Единственное, что может ускорить процесс очистки, - это лучшая обработка сообщений.И это не работа Хендлера.

...