Sobes.tech
Junior — Middle

Môžete vysvetliť účel a fungovanie funkcie std::async v C++?

sobes.tech AI

Odpoveď od AI

Funkcia std::async v C++ sa slúži na spustenie úlohy asynchrónne, teda v samostatnom vlákne, čo umožňuje vykonávať operácie paralelne s hlavným vláknom.

Vráti objekt std::future, pomocou ktorého je možné získať výsledok úlohy, keď je pripravený.

Príklad použitia:

#include <iostream>
#include <future>

int compute() {
    // Dlhá operácia
    return 42;
}

int main() {
    std::future<int> result = std::async(std::launch::async, compute);
    // Môžeme vykonávať iné úlohy
    std::cout << "Výsledok: " << result.get() << std::endl;
    return 0;
}

V tomto príklade sa funkcia compute vykonáva v samostatnom vlákne, zatiaľ čo hlavné vlákno môže pokračovať v práci, kým nie je výsledok potrebný.