VC++中关于多线程的问题

在一个多线程应用实例中,有一下三行代码:pReadThread[i]=AfxBeginThread((AFX_THREADPROC)ReadThread,this,THR... 在一个多线程应用实例中,有一下三行代码:
pReadThread[i] = AfxBeginThread((AFX_THREADPROC) ReadThread,this,THREAD_PRIORITY_NORMAL,0,CREATE_SUSPENDED);

pReadThread[i]->m_bAutoDelete = FALSE;

pReadThread[i]->ResumeThread();

我想知道pReadThread[i]->m_bAutoDelete = FALSE;这行代码是什么意思?
例外,
pReadThread[i] = AfxBeginThread((AFX_THREADPROC) ReadThread,this,THREAD_PRIORITY_NORMAL,0,CREATE_SUSPENDED);
这一句的后面就是 pReadThread[i]->ResumeThread();这句话,那还有必要设置成CREATE_SUSPENDED属性吗?直接创建完执行线程函数不是更好吗?
展开
 我来答
bhtzu
2012-12-19 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4191万
展开全部
m_bAutoDelete:Specifies whether the CWinThread object should be automatically deleted at thread termination.就是线程执行完了就自己删除自己的意思。
CREATE_SUSPENDED然后ResumeThread()就是化了妆再上台的意思,创建了一个有效(但不运行)的线程,才能进行设置和传送初始消息等等(不然没地方接受传送)。当然你也可以直接上台,如果不需要“化妆”的话,呵呵
a379039233
2012-12-20 · TA获得超过1495个赞
知道小有建树答主
回答量:895
采纳率:0%
帮助的人:424万
展开全部
pReadThread[i]->m_bAutoDelete = FALSE;

不能放在线程启动之前,因为线程对象还没创建;也不能放在启动以后,因为他启动了,已经在运行了,所以你应该在创建的中间,即暂停的时候设置线程的参数!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式