Pattern pipeline performance implementation

86 views Asked by At

I'm looking for advice on how to develop a multi-tasking pipeline over the C# language Namely:

  1. a first task used to acquire images continuously
  2. make each image available to one or more processing tasks.
  3. a task to display the results.

The tasks are perpetual, but the pipeline can be stopped at any time and restarted.

In terms of performance, you would be moving towards what type of development (technology) :

  • List + BlockingCollection
  • Task[] = new Task(action, TaskCreationOptions.LongRunning).Start() + BlockingCollection for information sharing.
  • Async task ? for a perpetual task
  • Or use DataFlow technology.

[Edit] Stop use case: need to stop acquisition -> the acquisition task must be stopped. The other tasks can also be stopped or wait for a new image to be captured.

The first task is an image producer and the others are consumers. What type of processing is involved? It may involve monitoring and then displaying a visual notification by means of an alert.

0

There are 0 answers