Поток при инициализации сразу запускает функцию

Делаю большой студенческий проект, в котором для оптимизация алгоритма нечёткого поиска требуется распараллеливать вычисления. Во время проверки всего и вся обнаружил, что поток при своей инициализации почему-то сразу запускает функцию, подумал, что совсем опешил, создал новый чистый проект, написал маленький код там и снова увидел, что поток при инициализации сразу стартует функцию. В примере ниже, сразу при запуске программы, сообщение "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(), но здесь поток стартует функцию без данных изысков, ничего не понимаю... При запуске программы вижу это


Ответы (0 шт):