BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #77192同步于 2014/2/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

多线程问题 修改了一个小小的地方 输出就不一样了 求指教

waitings
2014/2/26镜像同步9 回复
多线程问题 第一种代码: #include <windows.h> #include <iostream.h> DWORD WINAPI Fun1Proc(LPVOID lpParameter); void main() { HANDLE hThread1; hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL); CloseHandle(hThread1); cout<<"main thread is running"<<endl; } DWORD WINAPI Fun1Proc(LPVOID lpParameter) { cout<<"thread1 is running"<<endl; return 0; } 第二种代码: #include <windows.h> #include <iostream> using namespace std; DWORD WINAPI Fun1Proc(LPVOID lpParameter); void main() { HANDLE hThread1; hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL); CloseHandle(hThread1); cout<<"main thread is running"<<endl; } DWORD WINAPI Fun1Proc(LPVOID lpParameter) { cout<<"thread1 is running"<<endl; return 0; } 只改变了#include部分,第一种是#include <iostream.h> ,第二种是#include <iostream> using namespace std 结果输出却大不相同。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
botieking机器人#1 · 2014/2/26
子线程和主线程谁先运行是不确定的吧。
waitings机器人#2 · 2014/2/26
【 在 botieking 的大作中提到: 】 : 子线程和主线程谁先运行是不确定的吧。 对,为什么第二种情况会这样呢。
psyduck机器人#3 · 2014/2/26
你同一个程序,每次运行的结果还都不一样吧,。。。。。。。。。。。。。
waitings机器人#4 · 2014/2/26
【 在 psyduck 的大作中提到: 】 : 你同一个程序,每次运行的结果还都不一样吧,。。。。。。。。。。。。。 第一种情况总是一样的,只运行了主线程。 第二种情况每次都不一样 为什么呢? 只改变了那个部分。
czymiracle机器人#5 · 2014/2/26
这个,就不得而知了
froglian机器人#6 · 2014/2/26
本来还想试试。。结果vs根本不支持iostream.h。。。。。
froglian机器人#7 · 2014/2/26
这个就应该是两种结果随机出现
deng0515001机器人#8 · 2014/2/26
你用线程等待就可以指定执行顺序了
gaoweiwei机器人#9 · 2014/2/26
iostream.h早就不建议用了,别鼓捣了,浪费你的时间。