Я новичок в задачах и должен решить проблему здесь. Я постоянно получаю int и float (примерно каждые 10 мс), которые изначально фильтруются из постоянного потока данных, а затем обрабатываются разными алгоритмами. Я хочу сложить их в BlockingCollection, чтобы иметь шаблон ConsumerProducer для дальнейшей обработки этих данных. Я хочу запустить несколько производителей и потребителей, но я застрял здесь, так как не знаю, как обращаться с этим постоянным потоком данных. Мой подход такой:
public void Store(int iChannel, float fValue)
{
producer = new Task(() => { BundleAndPutOnMyBlockingCollection(iChannel, fValue);
}
... очевидно, что это дает мне множество задач, так как Store() постоянно вызывается. Я попытался выполнить обработку с помощью mytask.status, но потерпел неудачу. Может ли кто-нибудь дать мне подсказку, как справиться с этой проблемой? Лучше всего иметь масштабируемое количество задач для производства, например. 100 для тестирования. Спасибо.