Sobes.tech
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.