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.