Как установить тайм-аут задачи для объекта Concurrency :: create_task - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть moudle, который может перечислять win10 UWP приложения.Обычно это работало очень хорошо.Почему-то несколько пользователей сообщают, что программа застряла.Я обнаружил, что произошла сделка.Фрагмент кода выглядит следующим образом.Интересно, можно ли установить значение тайм-аута для этой задачи в случае тупика.

auto task = Concurrency::create_task(package->GetAppListEntriesAsync());
task.then([package, &cs, &pItem](IVectorView<Windows::ApplicationModel::Core::AppListEntry^>^ entryList)
{
    for (auto entry : entryList)
    {

        try
        {
            auto displayInfo = entry->DisplayInfo;
            {
                Concurrency::critical_section::scoped_lock lock(cs);

                pItem->SetPackageLocalName(displayInfo->DisplayName->Data());
                pItem->SetPackageDesc(displayInfo->Description->Data());
            }           

        }
        catch (Exception^ e)
        {
            CCommonFunc::Trace(e->Message->Data());
        }
        catch (...)
        {
            CCommonFunc::Trace(L"Unknown Exception");
            //ignore
        }
    }
}).wait();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...