Dies ist ein Beispiel-Snippet in VC++ mit MFC und ich möchte einen Worker-Thread verwenden, um eine Aufgabe abzuschließen und das Ergebnis an ein Steuerelement senden. Welche ist wünschenswert oder irgendeine andere Arbeit?Verwendung von Worker-Threads in MFC
2
A
Antwort
1
Es ist im Allgemeinen eine gute Idee (oder erforderlich), von anderen Threads als dem Hauptthread direkt auf die GUI zuzugreifen. MFC könnte dies bestätigen oder nicht, je nachdem wie konsistent es implementiert ist. Siehe auch this answer. Das schließt Ihren ersten Fall aus.
Die Verwendung von Nachrichtenwarteschlangen ist der sichere und korrekte Weg, dies zu tun. Siehe auch this thread zum Aktualisieren der Benutzeroberfläche von einem anderen Thread.
Verwandte Themen
- 1. Die Verwendung von statischen libraby in MFC
- 2. MFC: GetWindowRect Verwendung
- 3. Was ist die Verwendung von AfxInitRichEdit2(); in mfc application
- 4. Verwendung von ActiveX-Objekt auf Nicht-MFC-Anwendungen
- 5. Entfernen von Menü in MFC
- 6. Spaltenauswahl in ListView (MFC)
- 7. CListControl-Auswahl (MFC)
- 8. Wiederverwendbarer Hintergrundthread in MFC
- 9. Zeichnen von Geometrien mit Direct2D in MFC
- 10. Erfassen von Mauszeigerform ändern Ereignis in MFC
- 11. PostMessage von WorkerThread zum Hauptfenster in MFC
- 12. Verwenden von versuchen/fangen in WindowProc MFC
- 13. Integration von Qt in ältere MFC-Anwendungen
- 14. Erkennen von modalen Dialogen in MFC
- 15. MFC MDI Eröffnungsansicht von MainFrame.cpp
- 16. MFC Messfunktion in Millisekunden
- 17. Warum benötigen wir Laufzeitklasseninformationen in MFC?
- 18. Verwenden von MSTest mit MFC
- 19. MFC-Optionsfelder - Verhalten von DDX_Radio und DDX_Control
- 20. MFC "Speicherzuweisungsverletzung"
- 21. MFC-Registerkartenansichten
- 22. MFC CDialog ::
- 23. Hilfe mit CWinThread in MFC
- 24. Wird die Verwendung von Qt in einer großen MFC Windows-Only-App die Entwicklung beschleunigen?
- 25. Beibehalten der Reihenfolge der Dokumentregisterkarten bei Verwendung von EnableMDITabbedGroups in C++ - MFC
- 26. Pixel Manipulation in Bitmap-Bild mit MFC
- 27. Convert MFC CString in Ganzzahl
- 28. Entfernen Multifunktionsleiste in MFC C++
- 29. Popup-Kombinationsfeld in MFC-Dialogfeld
- 30. Erstellen einer Paginierliste in MFC
Mögliches Duplikat von [MFC: Zugriff auf GUI von einem anderen Thread?] (Http://stackoverflow.com/questions/18462347/mfc-accessing-gui-from-another-thread) –
Nicht doppelt. Früherer Thread betraf nur den Fall, dass ich und die Advisories die Verwendung von Worker-Thread im MFC-GUI-Thread verbaten. Fall II meiner Abfrage versucht, eine Arbeit um die Situation zu erkunden, indem eine asynchrone Prioritätswarteschlange verwendet und Haupt-GUI-Thread Verarbeitung der Post-Nachrichten ermöglicht – seccpur