Threading

Mutli-threaded pipeline in C#

Mutli-threaded pipeline in C#

As the processors of today's computers are getting increasingly more powerful and with the raise of multi-core processors, multi-threading is becoming increasingly more important for CPU intensive tasks.

Although not all tasks are suitable for execution in complete parallel, as the input-output order of data is crucial and it may consist of a series of operations which need to be executed sequentially, most tasks can be split into smaller isolated chunks of operations.

This is where a pipeline pattern, or pipes and filters pattern, is useful.