Junior — Middle
Как може да се реализира изпращането на данни към сървъра без блокиране на основния поток на изпълнение?
sobes.tech AI
Отговор от 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.