Практика потоков и синхронизации в C++
Запустите std::thread, который выводит "run", и дождитесь его через join.
Два потока увеличивают int под std::mutex по одному разу. Выведите 2.
В потоке целое std::atomic<int> получает fetch_add на 3. После join выведите load.
Получите 15 через std::async и std::future::get. Выведите число.
Синхронизируйте старт двух потоков std::latch: главный делает count_down дважды, оба ждут wait и печатают "go".