Назад к задачам
Junior — Middle+
7

Что напечатает программа с atomic_bool, изменяемым в отдельном потоке

Компании, где спрашивали:

Датаджайл
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо предсказать вывод следующей программы. В коде создаётся атомарный булевый флаг, который изначально установлен в false. Затем запускается отдельный поток, где флаг меняется на true. После завершения потока основной поток выводит значение флага в консоль.

# include <iostream>
# include <thread>
# include <atomic>

using namespace std;

int main()
{
    atomic_bool flag(false);
    std::thread worker([&flag] {
        flag = true;
    });

    worker.join();

    cout << flag << std::endl;

    return 0;
}

Каким будет результат работы программы?