线程问题

hastings 2008-06-06 08:46:00
刚学线程,遇到的基本问题:
#include<windows.h>
#include<process.h>
typedef struct
{
BOOL bContinue ;
}
PARAMS, *PPARAMS ;
void Thread (PVOID pvoid)
{
int i(0);
volatile PPARAMS pparams ;
pparams = (PPARAMS) pvoid ;
while(pparams->bContinue)
{
cout<<i++<<'\n';
Sleep(100);
}
//_endthread();这个函数要不要加???
}
int main()
{
PARAMS params;
params.bContinue=TRUE;
_beginthread (Thread, 0, ¶ms) ;
system("pause");
params.bContinue=FALSE;//当它为FALSE时,线程中的那个循环退出,那么是不是线程也就结束了?要不要在最后加上_endthread()函数?
system("pause");
cout<<"\n结束\n";
return 0;
}
...全文
43 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyw 2008-06-06
  • 打赏
  • 举报
回复
可以不调用,线程函数返回时会自动调用之。
wooyz 2008-06-06
  • 打赏
  • 举报
回复
params的作用域存在问题。
请动态申请该内存。或是将其修改为全局变量。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧