thread detach - закрывается окно

154
17 декабря 2019, 03:30

Вопрос странный конечно, но почему-то закрывается окно, созданное с detach после закрытия приложения которое его создало. Что-то с сигналами?

Код запуска:

std::thread thw
{
    [=]()
    {
        // создание нового окна
    }
};
if (thw.joinable())
    thw.detach();
Answer 1

Завершение функции main() является завершением программы согласно стандарту. Поэтому неважно, Windows это или OS/2 — detached поток не влияет на время жизни программы. Такие потоки как раз и создаются тогда, когда совершенно не важно завершится поток или нет — есть либо какие-то методы опроса таких потоков, либо же их уничтожение в середине работы не имеет значения (хотя это выглядит просто плохим дизайном). В подавляющем большинстве ситуаций, отсутствие join на созданном потоке, это просто ошибка.

READ ALSO
Как установить LLVM_ROOT для emscripten?

Как установить LLVM_ROOT для emscripten?

У меня Linux UbuntuУстановил emsdk

175
Как заставить SeekBar отображаться правильно?

Как заставить SeekBar отображаться правильно?

Пишу простенькое приложение для плавного изменения уровня подсветки экрана(фактически аналог того, что есть в настройках)SeekBar на экране...

161
Извлечь список файлов из директории [дубликат]

Извлечь список файлов из директории [дубликат]

Как извлечь файлы с директории и добавить их в список в порядке их добавления в папку

150