Довідники 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() дозволяє перевірити стан завдання без блокування потоку.
Коментарі
Додати коментар

Поки що коментарів немає