Junior — Middle
Pode explicar a finalidade e o funcionamento da função std::async em C++?
sobes.tech IA
Resposta da IA
A função std::async em C++ é usada para iniciar uma tarefa de forma assíncrona, ou seja, em uma thread separada, permitindo executar operações em paralelo com a thread principal.
Ela retorna um objeto std::future, com o qual é possível obter o resultado da tarefa quando estiver pronto.
Exemplo de uso:
#include <iostream>
#include <future>
int compute() {
// Operação longa
return 42;
}
int main() {
std::future<int> result = std::async(std::launch::async, compute);
// Outras tarefas podem ser realizadas
std::cout << "Resultado: " << result.get() << std::endl;
return 0;
}
Neste exemplo, a função compute é executada em uma thread separada, enquanto a thread principal pode continuar trabalhando até que o resultado seja necessário.