Описание тега concurrency-runtime

Библиотека параллельного программирования от Microsoft. Поддерживается компиляторами Visual C++ 2010 и выше.
2 ответа

Каковы ограничения MS Concurrency Runtime?

Я использую простую параллельную среду выполнения task_group в Visual Studio 2010 для запуска одного рабочего потока, чтобы отделить работу от потока графического интерфейса. Однако один из моих коллег сказал мне, что я неправильно использую CR: он …
1 ответ

Структура синхронизации ConcRT против стандартной библиотеки

Если мое приложение предназначено для Windows и уже использует Concurrency Runtime в некоторых его частях. Есть ли преимущества / недостатки использования структур синхронизации ConcRT (concurrency:critical_section) по сравнению со стандартной реали…
16 авг '13 в 00:17
1 ответ

"Параллелизм": пространство имен с таким именем не существует

Я - программист-любитель C#, который забрел на C++ из-за необходимости в технологии C++ AMP для некоторого сложного перебора чисел. Следовательно, мои навыки программирования на C++ не очень хорошо развиты. Для моей первой попытки использования реал…
21 янв '19 в 21:55
2 ответа

Как обрабатывать исключения из StorageFile::OpenAsync, когда URI плохой

У меня есть раздел кода, который правильно загружает изображения из http URI, когда URI действительны, но я не могу понять, как перехватить исключение, которое выдает OpenAsync, когда URI недопустим (приводит к 404). Проблема в том, что при выходе и…
1 ответ

Как указать среде выполнения C++ для повторного использования предыдущего потока для продолжения задач

Я использовал среду выполнения Visual C++ для создания задачи, а затем запланировал на ней четыре продолжения. #include <iostream> #include <thread> #include <ppltasks.h> int main() { concurrency::create_task([] { std::cout <&lt…
1 ответ

Количество сообщений в unbounded_buffer

Класс Concurrency::unbounded_buffer может хранить любое количество сообщений. Но как узнать количество ожидающих (не полученных) сообщений?
1 ответ

Конкатенация задач в WinRT, почему нельзя использовать task::wait?

В моем текущем проекте у меня была недавняя проблема, и мне трудно ее понять: concurrency::create_task(BPClient->ReadAnswer()).then([this](Windows::Foundation::Collections::IVector<unsigned char>^ Vec) { WSS::InMemoryRandomAccessStream^ imr…
26 май '13 в 17:25
1 ответ

Асинхронные агенты и оконные сообщения

В настоящее время я играю с библиотекой асинхронных агентов в Microsoft Concurrency Runtime. Я еще не нашел очевидного способа сообщить, что задача завершена с помощью оконных сообщений или каких-либо других средств уведомления потока пользовательск…
12 сен '11 в 21:34
2 ответа

C++ подождите, но разрешите запуск событий

При создании клиента SignalR C++ с использованием Visual Studio 2013 я начинаю с рабочего примера кода из пакета NuGet Microsoft.AspNet.SignalR.Client.Cpp.v120.WinDesktop, источник здесь Рассматривая исходный код библиотеки, мне кажется, что процесс…
05 ноя '15 в 22:39
1 ответ

Почему у меня есть возможность * не * вызывать Concurrency::agent::done внутри run?

Это в контексте API параллелизма Microsoft C++. Есть класс под названием agent (под Concurrency пространство имен), и это в основном конечный автомат, который вы получаете и реализуете чисто виртуальный agent::run, Теперь вы обязаны позвонить agent:…
1 ответ

Параллелизм, задачи

Я новичок в Microsoft Concurrency Runtime (и в асинхронном программировании в целом) и пытаюсь понять, что можно и что нельзя делать с этим. Можно ли создать группу задач таким образом, чтобы задачи выполнялись в том порядке, в котором они были доба…
01 июл '12 в 15:44
1 ответ

Время выполнения параллелизма VS2010 и unbounded_buffer<shared_ptr <T >>, какие подводные камни?

Я хочу передать кучу выделенных объектов из DLL. Очевидно, память должна управляться правильно. Кто-нибудь видит проблему со следующей хитрой схемой, которую я разработал: unbounded_buffer&lt;shared_ptr&lt;T&gt;&gt; buf; Я знаю, что shared_ptr скрыв…
1 ответ

Проанализируйте API concurency::task() и зачем нам это?

Я пытаюсь понять синтаксис параллелизма:: задачи в приведенном ниже фрагменте кода. Я не могу понять этот синтаксис кода. Как мы анализируем это: Что такое "getFileOperation" здесь. Это объект типа StorageFile класса? Что здесь означает ключевое сло…
1 ответ

Использование классов передачи сообщений параллельного исполнения VS2010 (unbounded_buffer и т. Д.) В потоках не во время выполнения

Мне нравится удобство unbounded_buffer, но я также хочу использовать этот класс в потоках, о которых среда выполнения параллелизма ничего не знает. В моих тестах это работает нормально. Есть ли потенциальные проблемы с этим подходом?
1 ответ

Реализация локальных переменных задачи для параллелизма

Я улучшаю приложение (Win64, C++), делая его более асинхронным. Я использую Concurrency Runtime, и он отлично работает для меня. Приложение в основном выполняет ряд "заданий", преобразующих данные. Для отслеживания того, что делает каждое задание, н…
14 окт '12 в 13:33
2 ответа

Обработка исключений, асинхронные задачи WinRT C++

Я должен реализовать асинхронный HTTP GET в C++, и мы должны иметь возможность отправить приложение в Windows 8 Store. Моя проблема заключается в следующем: Я нашел подходящий пример кода, который реализует класс HttpRequest http://code.msdn.microso…
0 ответов

PPL. Как мне запланировать несколько задач в одном рабочем потоке?

Мне нужно знать, как я могу контролировать, какой рабочий поток Concurrency::task побежит. Представьте, если у меня есть следующий код: #include &lt;ppltasks.h&gt; #include &lt;iostream&gt; #include &lt;mutex&gt; int main() { std::mutex mtx; Concurr…
20 июл '18 в 08:34
1 ответ

Периодическое задание с ConcRT

Я пишу приложение на C++, которое, помимо прочих обязанностей, периодически (раз в час) делает запросы к серверу.Это запланированное задание может быть прервано и принудительно выполнено раньше (когда приложение получает новые пользовательские данны…
21 апр '13 в 13:56
1 ответ

Деструктор concurrency::task вызывает прерывание вызова в допустимом сценарии использования

Не могли бы вы сказать мне, если подход, который я использую для обработки сценария использования, является недействительным, и если да, то какой правильный способ обработки: task&lt;int&gt; do_work(int param) { // runs some work on a separate threa…
03 июл '14 в 16:41
1 ответ

Планирование выполнения во время выполнения Windows с исключениями

Согласно MSDN, Продолжение на основе задачи всегда запланировано к выполнению, когда предшествующая задача завершается, даже когда предшествующая задача отменяется или выдает исключение. Я не понимаю этого, потому что я опробовал следующий код, и по…
23 июл '17 в 00:49