Dears, здесь у меня есть небольшая программа, которую нужно выполнить ниже действий/процессов последовательно. теперь я делаю ниже одну функцию, кажется, не очень хорошо :)Как выполнять мои действия последовательно с некоторым сном во время этого? (C++, winapi)
интерфейс пользователя init, очистить поле EDIT, Listview; запустите статус кнопок и т. д .;
источник питания устройства;
требуется 20 секунд сна или таймер, поскольку устройству требуется время для запуска;
подключиться к устройству, прочитать некоторые данные;
требуется 3 секунды, чтобы ждать обратной связи с устройства;
получил ответ от устройства, декодировал данные и отобразил их на пользовательском интерфейсе;
...
На данный момент, я просто использовать сон() в моей программе, и сделать вышеуказанные шаги один за другим. К счастью, узнайте из stackoverflow, что мой текущий способ не очень хорош, обратная связь и обновление пользовательского интерфейса очень медленные, а иногда и программа даже замерзает, довольно глупо.
И некоторые старшие ребята сказали мне, что я должен использовать таймер вместо сна.
Итак, мой вопрос: Как использовать таймер в моей текущей программе? (просто сделайте это, как MSDN сказать?) Как я могу улучшить его основы на вышеуказанном требовании? Нужно ли мне многопоточность?
Извините за столько вопросов :)
В самом деле, я хочу, чтобы все лучше.
спасибо, что заранее.
Не используйте опрос вообще (использование произвольного сна является предшественником опроса). Ваше приложение будет лучше, если вы подписаны на события и ответьте на них. Используйте таймер только для выполнения тайм-аутов. – IInspectable
И в случае отсутствия событий, следующий лучший вариант - использовать рабочий поток для опроса устройства в цикле со сном на каждой итерации цикла. В любом случае, управление устройством определенно не входит в основной поток пользовательского интерфейса вашего приложения. –
@ Невозможно, большое спасибо за вашу помощь. На самом деле, я не могу понять, что вы сказали «Не используйте опрос вообще», что это значит? Вы имеете в виду, что я не должен использовать слишком много сна() в своей программе? еще раз спасибо. – NYwalker