Sobes.tech
Back to questions
Junior — Middle
86

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

Companies where asked
СБЕР ДискСБЕР Диск
Открытые РешенияОткрытые Решения

Answer from AI

sobes.tech AI

Функция 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 выполняется в отдельном потоке, а основной поток может продолжать работу, пока не понадобится результат.