Как правильно запускать фигню в отдельном потоке
Всем привет. Я давным-давно написал одно приложение на C# с виндуз формами, недавно захотел переписать под C++ и гтк.
Единственное, с чем начались проблемы так это нормальное отделение логики от UI-потока.
С C# все очень просто, запускаешь парсинг и скачку в отдельном потоке, ничто не лагает, счетчик обновляется.
Юзаю самый простой пример работы с потоками, просто по нажатию на кнопку создаю поток из функции и запускаю его и нифига! Залагало на пару секунд и пишет, что все готово!
Какого чёрта?
Вот, как я запускаю поток.
void dlButtonCallback() {
std::thread thrd(std::bind(downloading));
thrd.join();
}