Я хочу создать приложение/окно WinAPI, и поскольку я не хочу, чтобы мое выполнение блокировалось во время ожидания сообщений, я планировал иметь 2 потока; основной поток и поток приложений. Поток приложения создаст окно (CreateWindowEx), а затем заблокируется в контуре сообщения.Многопоточное приложение WinAPI
Мое затруднение исходит из основного потока, который хочет изменить часть приложения. Например, изменение стиля, размера и т. Д. Чтобы поддерживать приложение в потоковом режиме, я бы предположил, что лучше сохранить такой код в одном потоке. Моя первая идея - опубликовать сообщение из основного потока, чтобы поток приложений разблокировался и может обрабатывать запрос, а затем снова блокировать его. Однако я не уверен, что отправка сообщения из отдельного потока безопасна, и мне было трудно найти ответ на этот онлайн-ресурс. Могут также быть лучшие решения, которые я не рассматриваю. Буду признателен за любую помощь или отзывы.
Для выполнения этих задач вам не нужно иметь 2 (или больше потоков) - одного потока более чем достаточно. использовать 'MsgWaitForMultipleObjectsEx' цикл басированных сообщений – RbMm
Да, вы можете отправлять (или отправлять) сообщения между потоками. –