Junior — Middle
Hoe kan het verzenden van gegevens naar de server worden geïmplementeerd zonder de hoofduitvoeringsstroom te blokkeren?
sobes.tech AI
Antwoord van 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.