Я хочу ограничить время ожидания ответа на вызов API в классе ссылок C ++ / CLI.
Я видел следующий код в C #, которыйвыглядит так, как мне хотелось бы:
var task = Task.Run(() =>
{
return LongRunningMethod();
});
bool isCompletedSuccessfully = task.Wait(TimeSpan.FromMilliseconds(3000));
if (isCompletedSuccessfully)
{
return task.Result;
}
else
{
throw new TimeoutException("The function has taken longer than the maximum time allowed.");
}
Как я могу "перевести" этот код в CLI / C ++?Похоже, что Task.Run не работает сразу.
Кстати, мой "LongRunningMethod" выглядит примерно так:
bool my_client::CanContactServer()
{
bool isAvailable = static_cast<bool>(m_p_client->contactServer());
return isAvailable;
}