У меня есть многопоточная функция, которая возвращает внешний IP-адрес, и подумал, что могу использовать его с std::future
:
std::future<std::string> GetIP4;
GetIP4 = std::async([]() -> std::string
{
return GetWanIP();
});
Когда позже в коде я вызываю GetIP4.get()
, я получаю std::string
. Однако это очищает объект, поэтому в следующий раз, когда я пытаюсь вызвать get
из другого потока, происходит сбой.
Это предполагаемое поведение std::future<>::get()
? Это сценарий "У меня есть только один раз"? Я ничего не нашел в документации .