Справочники C++ future

Что такое future в C++?

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

#include <iostream>
#include <future>
#include <thread>

// Функция, которую выполняет поток и возвращает результат
int calculateSquare(int x) {
    return x * x;
}

int main() {
    // Создание асинхронной задачи и получение std::future
    std::future<int> resultFuture = std::async(calculateSquare, 5);

    // Другие операции...

    // Ожидание и получение результата из std::future
    int result = resultFuture.get();

    std::cout << "Square is: " << result << std::endl;

    return 0;
}

Основные операции с std::future:

  1. Создание асинхронной задачи: std::async создает асинхронную задачу и возвращает объект std::future, связанный с результатом вычислений.
  2. Ожидание результата: Метод std::future::get() ожидает завершения асинхронной задачи и возвращает результат.
  3. Проверка завершения: Метод std::future::wait_for() позволяет проверить состояние задачи без блокировки потока.
Комментарии
Добавить комментарий

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