关于线程的问题

lzxjxsy 2005-07-22 09:20:19
各位大哥,请问一下,当调用线程的函数结束后(不是整个程序),线程会跟着结束吗?
...全文
79 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
darkstar21cn 2005-07-22
  • 打赏
  • 举报
回复
它的任务仅仅是传建线程,跟线程的运行没有什么关系

楼主没看明白这句。就是线程运行起来后,跟这个函数就没有关系了。这个函数结束是这个函数的事,线程什么时候结束是线程的事。
lzxjxsy 2005-07-22
  • 打赏
  • 举报
回复
谢谢两位了。
beyondtkl 2005-07-22
  • 打赏
  • 举报
回复
如2樓言 不會結束 你有一個無窮循環呀。。

線程函數跟普通函數沒兩樣 都是在 return 之類的或 執行完代碼後 才退出
lzxjxsy 2005-07-22
  • 打赏
  • 举报
回复
哦,我的意思是如果open结束了,threadrun会结束吗?

如果是下列情况 :
void threadrun (void* args)
{
while(1)
cout << i << endl;
}

int open ()
{
_beginthread (threadrun, 0, NULL);
return 1;
}

int main ()
{
open ();
//wait here
Sleep (600000000);//wait for 60 seconds
return 0;
}
darkstar21cn 2005-07-22
  • 打赏
  • 举报
回复
不太明白你的意思。
比如说下面的代码:

void threadrun (void* args)
{
for (int i = 0; i < 10; ++i)
cout << i << endl;
}

void open ()
{
_beginthread (threadrun, 0, NULL);
}

int main ()
{
open ();
//wait here
Sleep (60000);//wait for 60 seconds
return 0;
}
这里不知道楼主指的是哪个函数?
threadrun ()?这是线程运行主体,函数结束,线程也退出了
open ()?它的任务仅仅是传建线程,跟线程的运行没有什么关系
main ()?皮之不存,毛之焉附?

64,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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