2008-10-23 3 views
-1

Как вы обрабатываете скорость обновления обновления от вашей рабочей функции до вашего пользовательского интерфейса?Как вы справляетесь с частотой обновления обновления?

Отправка все для пользовательского интерфейса или, может быть, с помощью таймера (с какой стороны работника или UI?)

ответ

1

В приложениях для Windows, вы вообще хотите использовать объект Timer в вашем GUI потоке для опроса статуса работника - - это проще, если у вас нет по-настоящему веских причин сделать что-то еще ...

Вы не можете просто вызвать вызов функции подпрограмму пользовательского интерфейса из рабочего потока в Windows. Это приведет к неопределенному поведению, поэтому следите!

+0

Это имеет смысл, я был просто ослеплен статусом отмены, который я хотел получить от ui, я думаю, что мне просто нужно создать структуру, чтобы обновлять статус всегда и всегда проверять значение отмены от него. Теперь мне нужно думать об общем статусе этого – CiNN 2008-10-23 06:21:29

1

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

Использование таймеров субоптимально, не нужно «опроса» такого рода информации.

Смежные вопросы