Sobes.tech
Junior — Middle

Ar galite paaiškinti funkcijos std::async paskirtį ir veikimą C++?

sobes.tech AI

Atsakymas iš AI

C++ kalboje std::async funkcija naudojama užduočiai paleisti asinchroniškai, tai yra, atskirame sraute, leidžiant vykdyti operacijas lygiagrečiai su pagrindiniu srautu.

Ji grąžina std::future objektą, kurio pagalba galima gauti užduoties rezultatą, kai jis bus paruoštas.

Naudojimo pavyzdys:

#include <iostream>
#include <future>

int compute() {
    // Ilga operacija
    return 42;
}

int main() {
    std::future<int> result = std::async(std::launch::async, compute);
    // Kitos užduotys gali būti atliekamos
    std::cout << "Rezultatas: " << result.get() << std::endl;
    return 0;
}

Šiame pavyzdyje funkcija compute vykdoma atskirame sraute, o pagrindinis srautas gali tęsti darbą, kol nereikės rezultato.