Можете объяснить предназначение и работу функции std::async в C++?

Функция std::async в C++ используется для запуска задачи асинхронно, то есть в отдельном потоке, позволяя выполнять операции параллельно с основным потоком.

Короткий ответ

Что ответить на собеседовании

Функция std::async в C++ используется для запуска задачи асинхронно, то есть в отдельном потоке, позволяя выполнять операции параллельно с основным потоком.

Подробный разбор

Ответ с пояснениями

Функция std::async в C++ используется для запуска задачи асинхронно, то есть в отдельном потоке, позволяя выполнять операции параллельно с основным потоком.

Она возвращает объект std::future, с помощью которого можно получить результат выполнения задачи, когда он будет готов.

Пример:

#include <iostream>
#include <future>

int compute() {
    // Долгая операция
    return 42;
}

int main() {
    std::future<int> result = std::async(std::launch::async, compute);
    // Можно выполнять другие задачи
    std::cout << "Результат: " << result.get() << std::endl;
    return 0;
}

В этом примере функция compute выполняется в отдельном потоке, а основной поток может продолжать работу, пока не понадобится результат.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку