Мне иногда приходится обрабатывать большой объем данных из одного пакета из сети, который занимает достаточно много времени, когда пользователь пытается взаимодействовать с окнами приложения, добавляет строку "(Не реагирует)" в заголовок окна. Я знаю, что это происходит потому, что обработка выполняется во время вызова обработки сообщения (каким-то образом вверх по стеку) и, следовательно, блокирует насос сообщений. Я также знаю, что идеальный способ справиться с этим заключается в том, чтобы обрабатывать данные асинхронно в отдельном потоке, чтобы насос мог продолжать работать, однако это настольное приложение LARGE, которое однопоточно с верхней и нижней стороны и безопасно откручивает эту обработку не представляется возможным в наши рамки времени.
Таким образом, имея в виду, есть ли шанс, что я могу, по крайней мере, избежать "не отвечающего" прозвища (который большинству пользователей читает как "разбился" ), сообщая окнам, что мое приложение будет занято раньше Я начинаю работу? Я считаю, что есть что-то в этом направлении, когда вы отвечаете на запрос о закрытии, можно продолжать просить окна больше времени, чтобы избежать провозглашения того, что вы не "закрываете своевременно"
Я должен добавить это приложение С++ MFC.