Вызов и выполнение функции в другом потоке

Допустим, у меня есть такой программный код:

    #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? Благодарю.

2

Решение

Да, любой вызов функции, выполненный из основной функции потока, будет существовать в частном стеке этого потока.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]