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ý.