返回   cpper编程论坛 > Zion/测试
注册账号 论坛帮助 会员列表 日历事件 搜索 今日新帖 标记版面已读

Zion/测试 惹人烦的东西这边来

回复
 
LinkBack 主题工具 显示模式
  #1 (permalink)  
旧 2005-07-12
初级会员
 
注册日期: 2005-07-12
帖子: 2
bowen1981 正向着好的方向发展
默认 c语言线程问题

main(){
...
handle[i] = (HANDLE) _beginthread(ThreadProc,0,val[i]);
WaitForSingleObject(handle[i],INFINITE);

printf("Input your command: ");
gets(command);
...
}

我建立了线程后,必须等到ThreadProc运行完毕以后才能运行后面的gets, 有没有什么办法可以让线程建立以后可以不用等待线程完成,立即接着往下运行的呢?


来自:迷糊, 时间:2005-7-12 12:12:50, ID:3131739
main(){
...
handle[i] = (HANDLE) _beginthread(ThreadProc,0,val[i]);
//WaitForSingleObject(handle[i],INFINITE); 去掉

printf("Input your command: ");
gets(command);
...
}


来自:liangbowen, 时间:2005-7-12 14:41:27, ID:3131922 | 编辑
去掉那个连线程都不运行了,直接运行下面的了。


来自:xiaolin0522, 时间:2005-7-12 15:17:43, ID:3131971
main(){
...
handle[i] = (HANDLE) _beginthread(ThreadProc,0,val[i]);
printf("Input your command: ");
gets(command);
WaitForSingleObject(handle[i],INFINITE);


...
}

换个位置,你主线程都结束了,程序就结束了,当然你的其他的线程都会停止


来自:liangbowen, 时间:2005-7-12 15:24:51, ID:3131978 | 编辑
我主线程后面还有一个while循环呢,每sleep一秒就打印一句,但我始终看不到线程的运行。

换了位置的确是可以运行gets先,但我后面还有要运行的阿。可不可以并行运行
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #2 (permalink)  
旧 2005-07-13
初级会员
 
注册日期: 2005-07-12
帖子: 2
bowen1981 正向着好的方向发展
默认

不用回答了,解决了。
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
回复

书签
主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为格林尼治时间 +9。现在的时间是 08:23 AM


Powered by vBulletin® 版本 3.7.0
版权所有 ©2000 - 2008,Jelsoft Enterprises Ltd.
(C) Copy Right All Right Reserved 2001 - 2007

Search Engine Friendly URLs by vBSEO 3.1.0