Sobes.tech
Junior — Middle

Kas saaksite selgitada funktsiooni std::async eesmärki ja tööd C++-is?

sobes.tech AI

Vastus AI-lt

Funktsioon std::async C++-s kasutatakse ülesande asünkroonseks käivitamiseks, see tähendab eraldi lõimes, võimaldades teostada operatsioone paralleelselt peamise lõngaga.

See tagastab objekti std::future, mille abil saab saada ülesande tulemust, kui see on valmis.

Kasutusnäide:

#include <iostream>
#include <future>

int compute() {
    // Pikk operatsioon
    return 42;
}

int main() {
    std::future<int> result = std::async(std::launch::async, compute);
    // Teisi ülesandeid saab teha
    std::cout << "Tulemus: " << result.get() << std::endl;
    return 0;
}

Selles näites täidetakse funktsioon compute eraldi lõimes, samal ajal kui peamine lõng saab jätkata tööd kuni tulemuse vajaduseni.