Потоки в с++, лишний поток [закрыт]

76
20 сентября 2019, 10:10

Имеется простейшие код создания потока:

#include <thread>
void fun() {
    std::this_thread::sleep_for(std::chrono::milliseconds(1000));
}
int main() {
std::thread t(fun);
std::cout << "thread created\n";
t.join();
return 0;
}

При этом при отладке в gdb я вижу, что при создании потока вместо одного, gdb сообщает о двух. Второй на протяжении всего времени не подает признаков жизни, и исчезает при выходе из программы вместе с основным потоком. При этом поток, в котором выполняется fun исчезает после вызова join (и завершения всех действий в функции fun). Если я создаю еще один или более потоков - лишних потоков больше не появляется. В чем дело? Откуда появился этот поток и зачем он нужен?

READ ALSO
Шифрование файлов в windows

Шифрование файлов в windows

Задание звучит следующим образом:

125
Сжать .avi или .mp4 реально ли?

Сжать .avi или .mp4 реально ли?

возник вопрос: Возможно ли сжать видеофайлы или видеопоток? Пытался использовать lz4 для сжатия данных, сначала использовал этот метод сжатия...

100
Неожиданное потребление памяти

Неожиданное потребление памяти

Пишу алгоритм бинарной сортировки (в целях обучения)Компилятор - MinGW-w64 с флагом оптимизации -o0

114