CWinThread* m_pThrd;
m_pThrd = AfxBeginThread(RUNTIME_CLASS(CTestThread));像这样的写法,创建界面线程,但是没有窗口,只是想使用它的消息队列。创建了线程后,该线程对象的生命周期是多少?对象的存储位置是在堆上还是栈上?如果是一个独立的线程空间,那么线程对象的数据成员应该是存储在线程对象自己的栈空间内,还是存储在创建该线程的创建者的栈空间内?Windows这样封装让我搞不明白了。高分急求!!!
m_pThrd = AfxBeginThread(RUNTIME_CLASS(CTestThread));像这样的写法,创建界面线程,但是没有窗口,只是想使用它的消息队列。创建了线程后,该线程对象的生命周期是多少?对象的存储位置是在堆上还是栈上?如果是一个独立的线程空间,那么线程对象的数据成员应该是存储在线程对象自己的栈空间内,还是存储在创建该线程的创建者的栈空间内?Windows这样封装让我搞不明白了。高分急求!!!
解决方案 »
- 今天抽奖“幸运一年”, 好幸福哦!
- 在win2003server下使用uskin.lib失败
- 关于完成端口有多个客户端连接时所产生的问题???
- 一个进程阻塞导致程序无法运行的问题
- 关于CToolBar的一个菜鸟问题
- 请问如何使用Opengl显示汉字
- 为什么我对sqlserver数据库一执行insert操作就出错
- 一个程序里面可不可以同时有流式和报式socket和外界同时进行通信?
- 莱鸟提问:怎样在整数型数列中统计连续2个...4,4,....的个数?
- 怎么我在VC++6.0中的窗口属性中设一些属性好像没用一样???
- static const的问题
- 能不能向一个CBitmap对象中添加指定路径的图像?
To end the thread, call AfxEndThread from within the thread, or return from the controlling function of the worker thread.在堆上创建的,线程退出或调用AfxEndThread,m_pThrd就无效了。
每个线程都有独立的栈
另外一个问题:InitInstance()这个函数是何时被调用的?是在构造函数之后,run函数之前调用?还是,在构造函数之前就调用了?