【发布时间】:2015-10-03 07:40:23
【问题描述】:
我刚刚学习了 Win32 编程并且有一个关于线程的问题。假设我有下面的示例,我想知道在 for 循环中调用的 PrintStuff() 函数是在创建的新线程上运行还是在主线程上运行?谢谢。
HANDLE hThrd;
DWORD WINAPI PrintStuff() {
OutputDebugString("printing stuff");
return 0;
}
int WINAPI WinMain(...) {
...
hThrd = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)PrintStuff, NULL, CREATE_SUSPENDED, &id)
int i;
for (i = 0; i < 5; i++) {
PrintStuff();
}
...
}
【问题讨论】:
-
for 循环中的 PrintStuff() 在原始线程中运行。 PrintStuff() 也将在您的新线程中运行...如果/当您启动该新线程时(在创建它之后)。
标签: c++ multithreading