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

138
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

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

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

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

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

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

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

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

176