Sobes.tech
Junior — Middle

Оё метавонед мақсади ва фаъолияти функсияи std::async дар C++-ро шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

Функсияи std::async дар C++ барои оғоз кардани вазифа ба таври асинхронӣ истифода мешавад, яъне дар як ҷараёни алоҳида, ки имкон медиҳад амалиётҳоро дар параллел бо ҷараёни асосӣ иҷро кардан.

Он объект std::future-ро бармегардонад, ки бо ёрии он метавон натиҷаи вазифаро вақте ки омода мешавад, гирифт.

Маслиҳат барои истифода:

#include <iostream>
#include <future>

int compute() {
    // Амали дароз
    return 42;
}

int main() {
    std::future<int> result = std::async(std::launch::async, compute);
    // Мумкин аст вазифаҳои дигарро иҷро кард
    std::cout << "Натиҷа: " << result.get() << std::endl;
    return 0;
}

Дар ин мисол, функсияи compute дар як ҷараёни алоҳида иҷро мешавад, дар ҳоле ки ҷараёни асосӣ метавонад то вақти зарурӣ ба кор идома диҳад.