| |||
| 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先,但我后面还有要运行的阿。可不可以并行运行 |