Sobes.tech
Назад к вопросам
Junior — Middle
86

Каким образом можно реализовать отправку данных на сервер без блокировки основного потока выполнения?

Компании, где спрашивали
А-стор

Ответ от нейросети

sobes.tech AI

Для отправки данных на сервер без блокировки основного потока в C/C++ можно использовать многопоточность. Например, создать отдельный поток, который будет заниматься отправкой данных, пока основной поток продолжает работу.

Пример с использованием std::thread:

#include <iostream>
#include <thread>
#include <chrono>

void sendDataToServer() {
    // Имитация отправки данных
    std::this_thread::sleep_for(std::chrono::seconds(2));
    std::cout << "Данные отправлены на сервер" << std::endl;
}

int main() {
    std::thread sender(sendDataToServer);
    std::cout << "Основной поток продолжает работу" << std::endl;
    sender.join(); // Ждем завершения отправки, если нужно
    return 0;
}

Также можно использовать асинхронные вызовы (std::async) или библиотеки для асинхронного ввода-вывода, например Boost.Asio.