Допустим, у меня есть такой программный код:
#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 () вызывает MyThread () в другом потоке pMyThread. И MyThread () вызывает SomeFunction (). Теперь, SomeFunction () (или любая другая функция, которая вызывается MyThread ()) будет также выполняться на pMyThread? Благодарю.
Да, любой вызов функции, выполненный из основной функции потока, будет существовать в частном стеке этого потока.
Других решений пока нет …