Дилемма проектирования многопоточности MFC: как элегантно выйти из приложения? - PullRequest
0 голосов
/ 09 ноября 2010

Программа MFC (отдельный документ с представлением формы) имеет несколько подпотоков, которые имеют доступ к некоторым элементам управления в графическом интерфейсе MFC. Основной поток желает выйти после выхода всех подпотоков. Я пытался уведомить дочерние потоки, чтобы выйти и ждать их в обработчике OnDestroy. Однако здесь возникает дилемма. Поскольку подпотоки могут управлять элементами управления SendMessage, в то время как основной цикл сообщений блокируется в обработчике OnDestroy. Это тупик.

У меня есть идея, чтобы решить эту проблему: я надеюсь, что мог бы быть способ обработать MFC WM_CLOSE или WM_QUIT и использовать пользовательское сообщение, такое как UDM_QUIT, которое отправляется подпотоками в основной поток для фактического выхода, а я пока t ждать, пока дочерние потоки не выйдут из обработчика OnDestroy. Но я не гуру MFC и не знаю, как этого добиться.

1 Ответ

0 голосов
/ 10 ноября 2010

Я понял, что могу справиться с OnClose основного фрейма, чтобы реализовать идею, которую я упомянул выше.

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