Поток при инициализации сразу запускает функцию
Делаю большой студенческий проект, в котором для оптимизация алгоритма нечёткого поиска требуется распараллеливать вычисления. Во время проверки всего и вся обнаружил, что поток при своей инициализации почему-то сразу запускает функцию, подумал, что совсем опешил, создал новый чистый проект, написал маленький код там и снова увидел, что поток при инициализации сразу стартует функцию. В примере ниже, сразу при запуске программы, сообщение "hi" мгновенно бесконечно выводится на экран.
#include<thread>
#include<iostream>
#include<windows.h>
using namespace std;
void fu()
{
for (;;)
cout << "hi";
}
int main()
{
thread th(fu);
Sleep(1000000);
}
Как я читал, для того, чтоб поток стартанул, требуется join() или detach(), но здесь поток стартует функцию без данных изысков, ничего не понимаю...
