Вопросы по теме 'tpl-dataflow'
BufferBlock потока данных TPL с приоритетом
Это должно быть что-то очень естественное, мне было интересно, есть ли готовая реализация Prioritized BufferBlock из библиотеки TPL DataFlow?
1484 просмотров
schedule
13.03.2022
Потоки в С# для создания распределенной DFS
Я пытался реализовать распределенный поиск в глубину в С#. Я был успешным до определенного момента, но получил ошибку синхронизации. Я не могу исправить ошибку. То, что я пытаюсь сделать, это заставить каждый узел общаться друг с другом, используя...
698 просмотров
schedule
03.03.2023
Как распространить потолок сообщений на все блоки потока данных?
Интересно, есть ли способ установить максимальное количество элементов / сообщений, которое может содержать очередь в блоке потока данных (либо буферный блок, либо очередь блока действий), и распространить такой потолок вверх по потоку на другие блоки...
424 просмотров
schedule
09.06.2022
Поток данных TPL, запутавшийся в дизайне ядра
Я использую TPL Dataflow совсем немного, но спотыкаюсь о проблеме, которую не могу решить:
У меня есть следующая архитектура:
BroadCastBlock<List<object1>> -> 2 разных TransformBlock<List<Object1>, Tuple<int,...
1996 просмотров
schedule
03.08.2023
Блоки потока данных TPL внутри дуплекса WCF
Я новичок в SO, пожалуйста, потерпите меня.
У меня есть служба WCF с контрактом на дуплексную службу. Этот сервисный контракт имеет операционный контакт, который предполагает длительную обработку данных. Я вынужден ограничить количество...
740 просмотров
schedule
04.06.2022
Есть ли альтернатива C# TPL Dataflow для C++?
Недавно я разместил вопрос о Использование делегатов для имитации подключенных объектов. где я получил отличный ответ об использовании библиотеки TPL DataFlow для очень простой и чистой разработки решения для моего приложения.
Проблема в том, что...
937 просмотров
schedule
11.02.2023
Политика повторных попыток в ITargetBlock ‹TInput›
Мне нужно ввести в рабочий процесс политику повтора. Допустим, есть 3 блока, которые связаны таким образом:
var executionOptions = new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = 3 };
var buffer = new BufferBlock<int>();
var...
1540 просмотров
schedule
02.06.2023
Правильный способ фильтрации BlockBuffer.RecieveAsync
Добрый день.
У меня есть сетка потока данных TPL для вызовов rpc
Он имеет два несвязанных потока, которые в упрощенном виде выглядят так:
Выходной поток:
BlockBuffer для хранения вывода
ActionBlock для отправки вывода на сервер и...
328 просмотров
schedule
28.03.2022
MaxDegreeOfParallelism блокирует основной поток?
У меня есть следующий код, и он отлично работает:
private void BtBasicIntroClick(object sender, EventArgs e)
{
var stopwatch = new Stopwatch();
stopwatch.Reset();
stopwatch.Start();
var...
380 просмотров
schedule
27.02.2024
Как реализовать в TPL непрерывно работающие блоки потока данных?
У меня есть настройка блока потока данных производителя / потребителя с использованием BufferBlock и ActionBlock, и он отлично работает внутри консольного приложения;
После добавления всех элементов в BurfferBlock и связывания BufferBlock с другими...
4751 просмотров
schedule
05.04.2022
Связанный блок не завершается
Я начинаю с TPL DataFlow. Я создал следующий рабочий код. readFilesBlock — это BufferBlock . Он заполняется следующим образом:
public async void ReadItems(ITargetBlock<SourceCodeFile> target)
{
foreach(var item in Source)
{...
100 просмотров
schedule
23.04.2023
Поток данных Microsoft TPL для Windows Phone
Как известно, Microsoft TPL Dataflow поддерживает следующие платформы:
.NET Framework 4.5
.NET для приложений Магазина Windows
Переносимые библиотеки классов
но нет поддержки Windows Phone 8.
Какие есть альтернативы для замены...
299 просмотров
schedule
02.11.2022
TPL DataFlow, связывать блоки с приоритетом?
Можно ли связать два или более источника с одним блоком ITargetBlock (например, ActionBlock) с помощью блоков TPL.DataFlow и установить приоритетность источников?
e.g.
BufferBlock<string> b1 = new ...
BufferBlock<string> b2 = new...
1866 просмотров
schedule
29.12.2022
TPL DataFlow против BlockingCollection
Я понимаю, что BlockingCollection лучше всего подходит для шаблона потребитель/производитель. Однако когда мне следует использовать ActionBlock из библиотеки TPL DataFlow ?
Мое первоначальное понимание заключается в том, что для операций...
4076 просмотров
schedule
06.05.2022
максимальная степень параллелизма потока данных tpl
Я создаю конвейер, используя поток данных TPL. Скажем, у меня есть конвейер, состоящий из четырех блоков TransformBlock.
GetDataFromDatabase
ProcessData1
ProcessData2
SendDataToRestService
Каждый из них может (вероятно, будет) длительной...
1121 просмотров
schedule
21.03.2022
Регулирование асинхронных задач
Я хотел бы запустить кучу асинхронных задач с ограничением количества задач, ожидающих завершения в любой момент времени.
Допустим, у вас есть 1000 URL-адресов, и вы хотите, чтобы одновременно было открыто только 50 запросов; но как только один...
27514 просмотров
schedule
22.03.2022
В потоке данных TPL можно ли изменить DataflowBlockOptions после создания блока, но до его использования?
... и подействует ли это?
Я бы хотел отложить настройку свойства ExecutionDataflowBlockOptions.SingleProducerConstrained до тех пор, пока я не буду готов связать сеть вместе. (Потому что я хочу отделить создание блоков с их семантикой от...
763 просмотров
schedule
06.05.2022
Как безопасно использовать SmtpClient.SendAsync в многопоточном приложении
В своем приложении я использую ActionBlock из библиотеки Dataflow для отправки предупреждений по электронной почте с помощью SmtpClient.SendAsync() , который не блокирует вызывающий поток ( ActionBlock получает данные от BufferBlock , а блоки...
657 просмотров
schedule
20.04.2024
Альтернатива ActionBlock Framework 4 rx
Меня интересует реализация ActionBlock для Framework 4.0, так как кажется, что TPL.Dataflow не поддерживается для Framework 4.0. В частности, меня интересует случай конструктора, который получает делегат Func‹TInput, Task› и случай...
392 просмотров
schedule
02.06.2023
Поток данных TPL, MaxDegreeOfParallelism против балансировки нагрузки
Через поток данных TPL можно назначить MaxDegreeOfParallelism для параллельной работы блока, другой способ - «сбалансировать нагрузку», подключив источник к нескольким целевым объектам, ограничив BoundedCapacity каждого целевого блока.
Вопрос, в...
434 просмотров
schedule
30.09.2023