MFC 创建用户界面线程时,书上说是用推荐使用AfxBeginThread()来一次性地创建并启动一个线程,如写如下代码:
CWinThread *pThread = AfxBeginThread(RUNTIME_CLASS(CUIThread), 0, 0);
CWinThread *pThread = AfxBeginThread(RUNTIME_CLASS(CUIThread), 0, 0);
其中AfxBeginThread函数各个参数参照MSDN.
但是这么用了之后,运行程序以后,创建 新线程时会出错,提示:内存不足。
解决方法:不要用 AfxBeginThread 创建线程
改为 CUIThread* pthread = new CUIThread();
pthread->CreateThread();
先构造线程,然后调用CreateThread()开启线程。
这个问题据说是和编译器有关。用VS2013或者VS2015开发的工程会有这个问题。具体原因待研究。