比方说,我有一个这样的程序代码:
#include <iostream>
#include <Windows.h>
#include <tbb/tbb.h>
void SomeFunction()
{
// do something
}
void MyThread(int arg)
{
std::cout << "This is a thread function\n" << std::endl;
for (int i = 0; i < 10000; i++)
{
arg++;
Sleep(1);
}
SomeFunction();
}
int main ()
{
tbb::tbb_thread pMyThread = tbb::tbb_thread(MyThread, 3);
pMyThread.join();
return 0;
}
从上面我们可以看到main()在另一个线程pMyThread上调用MyThread()。而MyThread()正在调用SomeFunction()。现在,SomeFunction()(或MyThread()调用的任何其他函数)也会在pMyThread上执行吗?感谢。
答案 0 :(得分:0)
是的,从线程的主函数发出的任何函数调用都将存在于该线程的私有堆栈上。