В чем разница между PostMessage и AfxBeginThread? - PullRequest
0 голосов
/ 16 сентября 2009

Я могу получить одинаковую функциональность как с помощью PostMessage, так и AfxBeginThread (вызывая асинхронно) Так в чем же разница между PostMessage и AfxBeginThread?

Ответы [ 2 ]

7 голосов
/ 16 сентября 2009

AfxBeginThread запускает новый поток в вашей функции.

PostMessage использует основной цикл сообщений процесса, поэтому, если вы используете PostMessage для выполнения длительных операций, вы заморозите цикл сообщений, делая графический интерфейс невосприимчивым, пока не закончите операцию.

1 голос
/ 16 сентября 2009

Отправка сообщений - очень недооцененный метод синхронизации потоков в программировании Windows. Я почти исключительно использую его в отличие от других механизмов связи потоков. Но я думаю, это не то, что вы спрашиваете.

Я бы задал вопрос о том, будет ли ваша обработка достаточно длинной, чтобы гарантировать собственный поток. Если ответ «нет», оставьте его простым и просто делайте это в той же теме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...