gpt4 book ai didi

mfc - 如何使用 CWinThread 在 MFC 中创建工作线程?

转载 作者:行者123 更新时间:2023-12-04 18:13:42 26 4
gpt4 key购买 nike

我想知道在 MFC 中使用 CWinThread 派生类作为工作线程的过程是什么。
msdn 文档说 CWinthread::InitInstance() 或 CWinthread::Run() 应该只用于 UI 线程。

那么除了 AfxbeginThread() 之外有没有办法创建工作线程呢?我需要在我的代码中有一个工作线程类,它将存储一些私有(private)的更多信息,因此希望它从 CWinThread 派生。

请建议。

最佳答案

是的,您可以在不使用 AfxBeginThread 的情况下创建工作线程。

您可以覆盖虚拟 int Run();函数将您的代码放在那里并在函数末尾调用 ExitInstance() 以结束线程。要启动线程,您可以调用 AfxBeginThread,或者简单地调用线程对象上的 CreateThead 函数

//First option
CMyThread* pMyThread = (CMyThread*)AfxBeginThread(RUNTIME_CLASS(CMyThread));

//Second option
CMyThread myThread;
myThread.CreateThread();

也许这不是 MFC 的官方方式,但它确实有效!

关于mfc - 如何使用 CWinThread 在 MFC 中创建工作线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12123930/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com